Function at 0x4051f0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4215e5
mov eax, dword fs:[0]
push eax
sub esp, 0xcc
mov eax, dword [0x432004]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov dword [ebp - 0xbc], eax
xor eax, eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x64]
mov dword [ebp - 0x74], eax
xor eax, eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x64], ax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x24], ax
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 2
push eax
push fcn.004051f0
push 6
call dword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x4052b6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.00401366
mov edi, eax
test edi, edi
js 0x4052d1
push dword [ebp - 0xb8]
lea ecx, [ebp - 0x34]
call fcn.004029f5
mov edi, eax
add esp, 4
test edi, edi
jns 0x405366
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2c], 0
jbe 0x405308
mov esi, dword [ebp - 0x34]
lea eax, [ebp - 0x24]
cmp esi, eax
je 0x405308
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x4052f8
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x405308
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x405318
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x6c], 0
jbe 0x40534f
mov esi, dword [ebp - 0x74]
lea eax, [ebp - 0x64]
cmp esi, eax
je 0x40534f
mov ecx, dword [ebp - 0x68]
test ecx, ecx
je 0x40533f
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x40534f
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edx, dword [ebp - 0x68]
test edx, edx
je 0x40535f
mov ecx, dword [edx]
push edx
call dword [ecx + 4]
add esp, 4
mov eax, edi
jmp 0x405e82
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xcc], 0x2f
lea edi, [edx + eax*2]
mov ecx, edi
cmp edi, edx
je 0x4053d0
mov ebx, 0x5c
mov dword [ebp - 0xb8], ebx
mov edi, edi
movzx eax, word [ecx - 2]
cmp bx, ax
je 0x4053b6
cmp word [ebp - 0xcc], ax
je 0x4053b6
xor al, al
jmp 0x4053b8
mov al, 1
test al, al
jne 0x4053c5
add ecx, 0xfffffffe
cmp ecx, edx
jne 0x4053a0
jmp 0x4053da
cmp edx, ecx
je 0x4053da
mov ebx, 0x3a
jmp 0x4053f4
mov dword [ebp - 0xb8], 0x5c
sub edi, edx
mov ebx, 0x3a
and edi, 0xfffffffe
cmp edi, 4
jl 0x4053f2
lea ecx, [edx + 4]
cmp bx, word [edx + 2]
je 0x4053f4
mov ecx, edx
mov eax, ecx
mov dword [ebp - 0xc4], edx
sub eax, edx
mov dword [ebp - 0xc0], ecx
sar eax, 1
cmp eax, 1
jbe 0x40543c
movzx eax, word [ecx - 2]
lea edx, [ecx - 2]
mov esi, 0x5c
cmp si, ax
je 0x40542a
mov esi, 0x2f
cmp si, ax
je 0x40542a
xor al, al
jmp 0x40542c
mov al, 1
test al, al
je 0x40543c
cmp bx, word [ecx - 4]
je 0x40543c
mov dword [ebp - 0xc0], edx
lea edx, [ebp - 0xc4]
lea ecx, [ebp - 0xb4]
call fcn.00406840
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
lea edi, [ecx + eax*2]
mov eax, edi
cmp edi, ecx
je 0x40548d
movzx edx, word [eax - 2]
cmp word [ebp - 0xb8], dx
je 0x40547a
cmp word [ebp - 0xcc], dx
je 0x40547a
xor dl, dl
jmp 0x40547c
mov dl, 1
test dl, dl
jne 0x405489
add eax, 0xfffffffe
cmp eax, ecx
jne 0x405460
jmp 0x40548d
cmp ecx, eax
jne 0x4054a4
mov eax, edi
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 4
jl 0x4054a2
lea eax, [ecx + 4]
cmp bx, word [ecx + 2]
je 0x4054a4
mov eax, ecx
lea edx, [ebp - 0xc4]
mov dword [ebp - 0xc4], eax
lea ecx, [ebp - 0x94]
mov dword [ebp - 0xc0], edi
call fcn.00406840
lea eax, [ebp - 0xb4]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x74]
call fcn.00406030
mov ebx, dword [ebp - 0xbc]
test byte [ebx], 2
je 0x4058ae
lea ecx, [ebx + 4]
neg ecx
lea eax, [ebx + 0x10]
sbb ecx, ecx
and ecx, eax
mov ecx, dword [ecx]
mov dword [ebp - 0x48], ecx
test ecx, ecx
je 0x405500
mov eax, dword [ecx]
push ecx
call dword [eax]
add esp, 4
xor eax, eax
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x44]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x4c], 7
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x54]
push dword [ebx + 8]
xor eax, eax
push dword [ebx + 4]
mov word [ebp - 0x44], ax
call fcn.004020cd
mov byte [ebp - 4], 6
cmp dword [ebp - 0x50], 0
jne 0x405683
lea ecx, [ebp - 0x54]
call fcn.00403af0
mov edi, eax
test edi, edi
jns 0x405683
mov byte [ebp - 4], 4
cmp dword [ebp - 0x4c], 0
jbe 0x405591
mov esi, dword [ebp - 0x54]
lea eax, [ebp - 0x44]
cmp esi, eax
je 0x405591
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x405581
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x405591
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x4055a1
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 3
cmp dword [ebp - 0x8c], 0
jbe 0x4055e4
mov esi, dword [ebp - 0x94]
lea eax, [ebp - 0x84]
cmp esi, eax
je 0x4055e4
mov ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x4055d4
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x4055e4
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x4055f7
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 2
cmp dword [ebp - 0xac], 0
jbe 0x40563a
mov esi, dword [ebp - 0xb4]
lea eax, [ebp - 0xa4]
cmp esi, eax
je 0x40563a
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x40562a
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x40563a
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x40564d
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2c], 0
jbe 0x405308
mov esi, dword [ebp - 0x34]
lea eax, [ebp - 0x24]
cmp esi, eax
je 0x405308
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x4052f8
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x405308
push 1
mov byte [ebp - 4], 7
call fcn.0041d6a4
mov esi, eax
mov dword [ebp - 0xc0], esi
lea eax, [ebp - 0xc4]
mov byte [ebp - 4], 8
push eax
lea edx, [ebp - 0x54]
lea ecx, [ebp - 0x94]
call fcn.00406720
add esp, 8
test al, al
sete bl
mov byte [ebp - 4], 9
test esi, esi
je 0x4056d2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
test eax, eax
je 0x4056d2
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov byte [ebp - 4], 4
test bl, bl
je 0x405865
cmp dword [ebp - 0x4c], 0
jbe 0x405711
mov esi, dword [ebp - 0x54]
lea eax, [ebp - 0x44]
cmp esi, eax
je 0x405711
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x405701
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x405711
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x405721
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 3
cmp dword [ebp - 0x8c], 0
jbe 0x405764
mov esi, dword [ebp - 0x94]
lea eax, [ebp - 0x84]
cmp esi, eax
je 0x405764
mov ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x405754
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x405764
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x405777
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 2
cmp dword [ebp - 0xac], 0
jbe 0x4057ba
mov esi, dword [ebp - 0xb4]
lea eax, [ebp - 0xa4]
cmp esi, eax
je 0x4057ba
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x4057aa
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x4057ba
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x4057cd
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2c], 0
jbe 0x405804
mov esi, dword [ebp - 0x34]
lea eax, [ebp - 0x24]
cmp esi, eax
je 0x405804
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x4057f4
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x405804
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x405814
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x6c], 0
jbe 0x40584b
mov esi, dword [ebp - 0x74]
lea eax, [ebp - 0x64]
cmp esi, eax
je 0x40584b
mov ecx, dword [ebp - 0x68]
test ecx, ecx
je 0x40583b
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x40584b
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x68]
test ecx, ecx
je 0x40585b
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov eax, 0xa0010002
jmp 0x405e82
cmp dword [ebp - 0x4c], 0
jbe 0x405898
mov esi, dword [ebp - 0x54]
lea eax, [ebp - 0x44]
cmp esi, eax
je 0x405898
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x405888
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x405898
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x4058a8
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov ebx, dword [ebp - 0xbc]
mov eax, dword [ebx]
test al, 1
je 0x405b1e
cmp dword [ebx + 0x28], 0
lea edx, [ebx + 0x24]
je 0x4058cc
mov esi, dword [ebp - 0xb8]
jmp 0x405942
xor esi, esi
mov dword [ebp - 0xb8], esi
xor eax, eax
mov dword [ebp - 0xc8], 1
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x44]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], 7
xor eax, eax
mov dword [ebp - 4], 0xb
mov word [ebp - 0x44], ax
xor ecx, ecx
mov eax, str.SoftwareKasperskyLabBinaries
lea eax, [eax + 2]
inc ecx
cmp word [eax], 0
jne 0x405913
push ecx
push str.SoftwareKasperskyLabBinaries
lea ecx, [ebp - 0x54]
call fcn.004020cd
mov eax, 3
mov dword [ebp - 4], 0xc
mov dword [ebp - 0xc8], eax
lea edx, [ebp - 0x54]
mov eax, dword [ebx]
shr eax, 2
not al
and al, 1
movzx eax, al
push eax
sub esp, 0x20
mov ecx, esp
push edx
call fcn.00401e87
call fcn.004042f0
mov ebx, eax
mov dword [ebp - 4], 0xa
mov eax, dword [ebp - 0xc8]
add esp, 0x24
test al, 2
je 0x4059bf
and eax, 0xfffffffd
cmp dword [ebp - 0x4c], 0
mov dword [ebp - 0xc8], eax
jbe 0x4059af
mov edi, dword [ebp - 0x54]
lea eax, [ebp - 0x44]
cmp edi, eax
je 0x4059af
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x40599f
mov eax, dword [ecx]
push edi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x4059af
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push edi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x4059bf
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0xc8]
test al, 1
je 0x4059dd
test esi, esi
je 0x4059dd
mov eax, dword [esi]
push esi
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 3
cmp dword [ebp - 0x8c], 0
jbe 0x405a20
mov esi, dword [ebp - 0x94]
lea eax, [ebp - 0x84]
cmp esi, eax
je 0x405a20
mov ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x405a10
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x405a20
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x405a33
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 2
cmp dword [ebp - 0xac], 0
jbe 0x405a76
mov esi, dword [ebp - 0xb4]
lea eax, [ebp - 0xa4]
cmp esi, eax
je 0x405a76
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x405a66
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x405a76
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x405a89
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2c], 0
jbe 0x405ac0
mov esi, dword [ebp - 0x34]
lea eax, [ebp - 0x24]
cmp esi, eax
je 0x405ac0
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x405ab0
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x405ac0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x405ad0
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x6c], 0
jbe 0x405b07
mov esi, dword [ebp - 0x74]
lea eax, [ebp - 0x64]
cmp esi, eax
je 0x405b07
mov ecx, dword [ebp - 0x68]
test ecx, ecx
je 0x405af7
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x405b07
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edx, dword [ebp - 0x68]
test edx, edx
je 0x405b17
mov ecx, dword [edx]
push edx
call dword [ecx + 4]
add esp, 4
mov eax, ebx
jmp 0x405e82
mov esi, dword [ebx + 0x44]
cmp dword [ebx + 0x48], esi
je 0x405bfd
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov edi, edi
mov eax, dword [esi + 4]
mov byte [ebp - 4], 0xd
cmp word [eax], 0
jne 0x405b52
mov eax, 0x42ede8
mov ecx, dword [esi]
cmp ecx, 4
ja case.default.0x405b5d
jmp dword [ecx*4 + 0x405ec0]
mov ecx, 0x80000000
jmp 0x405b85
mov ecx, 0x80000005
jmp 0x405b85
mov ecx, 0x80000001
jmp 0x405b85
mov ecx, 0x80000002
jmp 0x405b85
mov ecx, 0x80000003
lea edx, [ebp - 0xbc]
push edx
push 1
push 0
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ecx, eax
call fcn.00401366
mov edi, eax
test edi, edi
js 0x405c5b
mov eax, dword [esi + 0x24]
mov edi, dword [ebp - 0xbc]
mov dword [ebp - 0xb8], 0
cmp word [eax], 0
jne 0x405bc7
mov eax, 0x42ede8
lea ecx, [ebp - 0xb8]
push ecx
push ecx
push 0
push 0
push eax
push edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp eax, 0xea
jne 0x405c4b
push edi
mov byte [ebp - 4], 0xf
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
add esi, 0x44
mov byte [ebp - 4], 4
cmp dword [ebx + 0x48], esi
jne 0x405b40
mov eax, dword [ebx + 0x4c]
lea edx, [ebx + 0x4c]
cmp eax, dword [edx + 4]
je 0x405d89
lea ecx, [ebp - 0x74]
call fcn.00403d40
mov esi, eax
test esi, esi
jns 0x405d89
lea ecx, [ebp - 0x94]
call fcn.00401e11
lea ecx, [ebp - 0xb4]
call fcn.00401e11
lea ecx, [ebp - 0x34]
call fcn.00401e11
lea ecx, [ebp - 0x74]
call fcn.00401e11
mov eax, esi
jmp 0x405e82
push edi
mov byte [ebp - 4], 0xe
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edi, 0xa0010003
mov byte [ebp - 4], 3
cmp dword [ebp - 0x8c], 0
jbe 0x405c9e
mov esi, dword [ebp - 0x94]
lea eax, [ebp - 0x84]
cmp esi, eax
je 0x405c9e
mov ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x405c8e
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x405c9e
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x405cb1
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 2
cmp dword [ebp - 0xac], 0
jbe 0x405cf4
mov esi, dword [ebp - 0xb4]
lea eax, [ebp - 0xa4]
cmp esi, eax
je 0x405cf4
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x405ce4
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x405cf4
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x405d07
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2c], 0
jbe 0x405d3e
mov esi, dword [ebp - 0x34]
lea eax, [ebp - 0x24]
cmp esi, eax
je 0x405d3e
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x405d2e
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x14]
add esp, 8
jmp 0x405d3e
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x405d4e
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x6c], 0
jbe 0x405d6e
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x64]
cmp eax, ecx
je 0x405d6e
sub esp, 8
lea ecx, [ebp - 0x68]
push eax
call fcn.004012a0
mov edx, dword [ebp - 0x68]
test edx, edx
je 0x40535f
mov ecx, dword [edx]
push edx
call dword [ecx + 4]
add esp, 4
mov eax, edi
jmp 0x405e82
mov byte [ebp - 4], 3
cmp dword [ebp - 0x8c], 0
jbe 0x405db5
mov eax, dword [ebp - 0x94]
lea ecx, [ebp - 0x84]
cmp eax, ecx
je 0x405db5
sub esp, 8
lea ecx, [ebp - 0x88]
push eax
call fcn.004012a0
mov ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x405dc8
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 2
cmp dword [ebp - 0xac], 0
jbe 0x405df4
mov eax, dword [ebp - 0xb4]
lea ecx, [ebp - 0xa4]
cmp eax, ecx
je 0x405df4
sub esp, 8
lea ecx, [ebp - 0xa8]
push eax
call fcn.004012a0
mov ecx, dword [ebp - 0xa8]
test ecx, ecx
je 0x405e07
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 1
cmp dword [ebp - 0x2c], 0
jbe 0x405e27
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x24]
cmp eax, ecx
je 0x405e27
sub esp, 8
lea ecx, [ebp - 0x28]
push eax
call fcn.004012a0
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x405e37
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x6c], 0
jbe 0x405e57
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x64]
cmp eax, ecx
je 0x405e57
sub esp, 8
lea ecx, [ebp - 0x68]
push eax
call fcn.004012a0
mov ecx, dword [ebp - 0x68]
test ecx, ecx
je 0x405e67
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
add esp, 4
xor eax, eax
jmp 0x405e82
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040753d
mov esp, ebp
pop ebp
ret
push 0x42edea
lea ecx, [ebp - 0xd8]
call fcn.00403190
push 0x430ad4
lea eax, [ebp - 0xd8]
push eax
call fcn.00408aa5
nop
pop ebx
inc eax
add byte [ebx + 0x5b], ch
inc eax
add byte [edx + 0x5b], dh
inc eax
add byte [ecx + 0x5b], bh
inc eax
add byte [eax - 0x33ffbfa5], al
int3