Function at 0x43ea00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, dword [esi]
sar eax, 0x10
cmp al, 1
je 0x43ea21
pop edi
pop esi
mov eax, InternetCloseHandle
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 8]
mov edx, ecx
and edx, 0x80000001
jns 0x43ea33
dec edx
or edx, 0xfffffffe
inc edx
jne 0x43f789
mov eax, dword [esi + 0xc]
mov edx, eax
and edx, 0x80000001
jns 0x43ea4b
dec edx
or edx, 0xfffffffe
inc edx
jne 0x43f789
test ecx, ecx
jle 0x43f789
test eax, eax
jle 0x43f789
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
push 0x258
call fcn.00443ab0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x43ea82
pop edi
pop esi
mov eax, InternetCloseHandle
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x96
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [esi + 4]
mov dword [ebx + 0x24], eax
mov eax, dword [esi + 0x28]
test al, 1
mov dword [ebx + 0x28], eax
je 0x43eaa2
or al, 0x20
mov dword [ebx + 0x28], eax
mov ecx, dword [esi + 8]
xor edi, edi
mov dword [ebx], ecx
mov edx, dword [esi + 0xc]
mov dword [ebx + 4], edx
mov eax, dword [ebx]
add eax, 0xf
shr eax, 4
mov dword [ebx + 0x10], eax
mov ecx, dword [ebx + 4]
add ecx, 0xf
shr ecx, 4
mov dword [ebx + 0x14], ecx
mov edx, dword [ebx + 0x10]
add edx, 8
xor ecx, ecx
shl edx, 4
mov dword [ebx + 8], edx
mov eax, dword [ebx + 0x14]
add eax, 8
mov edx, 0x19
shl eax, 4
mov dword [ebx + 0xc], eax
mov eax, dword [esi + 0x2c]
cmp eax, edi
setle cl
dec ecx
and ecx, eax
lea eax, [ebx + 0x1c]
mov dword [eax], ecx
mov ecx, dword [esi + 0x2c]
cmp ecx, edi
jle 0x43eaff
mov edx, dword [esi + 0x30]
lea ecx, [ebx + 0x20]
mov dword [ecx], edx
mov edx, dword [eax]
cmp edx, edi
jle 0x43eb14
push ecx
push eax
call fcn.0043f7a0
add esp, 8
mov esi, dword [esi + 0x10]
cmp esi, edi
jle 0x43eb5e
mov dword [ebx + 0x88], esi
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
shl esi, 4
push esi
call fcn.00443ab0
add esp, 8
cmp eax, edi
mov dword [ebx + 0x8c], eax
je 0x43f720
mov ecx, dword [ebx + 0x88]
mov edx, dword [ebp + 8]
shl ecx, 4
mov esi, dword [edx + 0x14]
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x43eb6a
mov dword [ebx + 0x88], edi
mov dword [ebx + 0x8c], edi
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x18]
xor ecx, ecx
cmp eax, ecx
jle 0x43eba0
lea edx, [eax*8]
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
push edx
mov dword [ebx + 0x90], eax
call fcn.00443ab0
xor edi, edi
add esp, 8
cmp eax, edi
mov dword [ebx + 0x94], eax
je 0x43f722
jmp 0x43ebae
mov dword [ebx + 0x90], ecx
mov dword [ebx + 0x94], ecx
xor edi, edi
mov eax, dword [ebx + 0x90]
xor esi, esi
cmp eax, edi
jle 0x43ed88
jmp 0x43ebc2
xor edi, edi
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x18], eax
push edi
mov edx, dword [ecx + 0x1c]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10302
push eax
push 4
push edi
call dword [edx + esi*8]
add esp, 0x10
test eax, eax
jl 0x43ebf4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x18]
or eax, ecx
mov dword [ebx + 0x18], eax
mov ecx, 0xa
xor eax, eax
lea edi, [ebp - 0x40]
mov edx, dword [ebx + 0x88]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x8c]
mov ecx, dword [ebx]
mov dword [ebp - 0x38], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x3c], edx
mov edx, dword [ebx + 4]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], edx
mov edx, dword [ebx + 0x1c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x40], 0x10302
mov dword [ebp - 0x24], edx
mov edx, dword [ecx + esi*8 + 4]
mov ecx, dword [ebx + 0x94]
mov dword [ebp - 0x1c], edx
mov dword [ecx + esi*8], 0
mov edx, dword [eax + 0x1c]
mov eax, dword [ebx + 0x94]
lea ecx, [eax + esi*8 + 4]
lea eax, [ebp - 0x40]
push ecx
push eax
push 1
push 0
call dword [edx + esi*8]
add esp, 0x10
test eax, eax
jl 0x43ec88
mov ecx, dword [ebp + 8]
mov eax, dword [ebx + 0x94]
mov edx, dword [ecx + 0x1c]
mov ecx, dword [edx + esi*8]
mov dword [eax + esi*8], ecx
mov eax, dword [ebx + 0x90]
inc esi
cmp esi, eax
jl 0x43ebc0
mov esi, dword [ebp + 8]
xor edi, edi
test byte [ebx + 0x28], 4
jne 0x43eca8
test byte [ebx + 0x18], 2
je 0x43ecb0
mov eax, dword [ebx + 0x18]
or al, 1
mov dword [ebx + 0x18], eax
test byte [ebx + 0x18], 4
je 0x43ecd9
mov edx, dword [ebx + 0x14]
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
imul edx, dword [ebx + 0x10]
shl edx, 2
push edx
call fcn.00443ab0
add esp, 8
cmp eax, edi
mov dword [ebx + 0x98], eax
je 0x43f6f4
test byte [ebx + 0x18], 8
je 0x43ed05
mov eax, dword [ebx + 0x14]
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
imul eax, dword [ebx + 0x10]
lea eax, [eax + eax*2]
shl eax, 3
push eax
call fcn.00443ab0
add esp, 8
cmp eax, edi
mov dword [ebx + 0x9c], eax
je 0x43f6f4
mov eax, dword [esi + 0x24]
xor ecx, ecx
cmp eax, edi
mov dword [ebp - 0xc], 3
setle cl
dec ecx
xor edx, edx
and eax, ecx
lea ecx, [esi + 0x50]
mov dword [ebx + 0x60], eax
mov eax, dword [esi + 0x3c]
cmp eax, edi
setle dl
dec edx
and eax, edx
mov dword [ebx + 0x2c], eax
mov eax, dword [esi + 0x40]
mov dword [ebx + 0x30], eax
lea eax, [ebx + 0x44]
mov edx, dword [ecx - 0xc]
cmp edx, edi
jg 0x43ed44
mov edx, 2
mov dword [eax - 0xc], edx
mov edx, dword [ecx]
cmp edx, edi
jg 0x43ed52
mov edx, 0x1f
mov dword [eax], edx
mov edx, dword [ebp - 0xc]
add ecx, 4
add eax, 4
dec edx
mov dword [ebp - 0xc], edx
jne 0x43ed38
mov eax, dword [esi + 0x38]
xor ecx, ecx
cmp eax, edi
setle cl
dec ecx
and eax, ecx
mov dword [ebx + 0x34], eax
mov esi, dword [esi + 0x34]
cmp esi, edi
jg 0x43ed90
mov eax, dword [ebx + 0x20]
lea eax, [eax + eax*4]
shl eax, 1
cdq
idiv dword [ebx + 0x1c]
jmp 0x43ed92
mov esi, dword [ebp + 8]
jmp 0x43ec9c
mov eax, esi
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
push 0x148
mov dword [ebx + 0x5c], eax
call fcn.00443ab0
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
push 0x148
mov dword [ebx + 0xa0], eax
call fcn.00443ab0
mov ecx, dword [ebx + 0xa0]
add esp, 0x10
cmp ecx, edi
mov dword [ebx + 0xa4], eax
je 0x43f6d9
cmp eax, edi
je 0x43f6d9
mov eax, dword [ebx + 0x14]
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
imul eax, dword [ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
shl eax, 3
push eax
call fcn.00443ab0
mov ecx, dword [ebx + 0xa0]
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
mov dword [ecx + 0x44], eax
mov eax, dword [ebx + 0x14]
imul eax, dword [ebx + 0x10]
lea ecx, [eax + eax*2]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
shl eax, 3
push eax
call fcn.00443ab0
mov ecx, dword [ebx + 0xa4]
add esp, 0x10
mov dword [ecx + 0x44], eax
mov edx, dword [ebx + 0xa0]
cmp dword [edx + 0x44], edi
je 0x43f6b8
mov eax, dword [ebx + 0xa4]
cmp dword [eax + 0x44], edi
je 0x43f6b8
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
push 0x400
call fcn.00443ab0
add esp, 8
cmp eax, edi
mov dword [ebx + 0x78], eax
je 0x43f6ac
test byte [ebx + 0x18], 1
je 0x43ee7f
mov dword [ebx + 0xb0], edi
mov dword [ebx + 0xac], edi
mov dword [ebx + 0xa8], edi
mov dword [ebx + 0xbc], edi
mov dword [ebx + 0xb8], edi
mov dword [ebx + 0xb4], edi
lea esi, reloc.KERNEL32.dll_GetProcessHeap
mov dword [esi + 8], edi
mov dword [esi + 4], edi
mov dword [esi], edi
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], edi
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], edi
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], edi
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], edi
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], edi
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], edi
mov eax, dword [ebx + 0xa0]
add eax, 0x38
mov dword [eax + 8], edi
mov dword [eax + 4], edi
mov dword [eax], edi
mov eax, dword [ebx + 0xa4]
add eax, 0x38
mov dword [eax + 8], edi
mov dword [eax + 4], edi
mov dword [eax], edi
mov dword [ebx + 0xc8], edi
mov dword [ebx + 0xc4], edi
mov dword [ebx + 0xc0], edi
mov dword [ebx + 0xd4], edi
mov dword [ebx + 0xd0], edi
mov dword [ebx + 0xcc], edi
mov dword [ebx + 0xec], edi
mov dword [ebx + 0xe8], edi
mov dword [ebx + 0xe4], edi
test byte [ebx + 0x18], 1
je 0x43ef4d
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
lea eax, [ebx + 0xa8]
push edx
push eax
call fcn.0043cb70
add esp, 0xc
test eax, eax
jl 0x43f5bb
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
lea eax, [ebx + 0xb4]
push edx
push eax
call fcn.0043cb70
add esp, 0xc
test eax, eax
jl 0x43f5bb
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
push edx
push esi
call fcn.0043cb70
add esp, 0xc
test eax, eax
jl 0x43f5bb
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
lea eax, reloc.KERNEL32.dll_GetProcessHeap
push ecx
push eax
call fcn.0043cb70
add esp, 0xc
test eax, eax
jl 0x43f5bb
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
push edx
push eax
lea eax, reloc.KERNEL32.dll_GetProcessHeap
push eax
call fcn.0043cb70
add esp, 0xc
test eax, eax
jl 0x43f5bb
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0xa0]
mov edx, dword [ebx + 8]
push ecx
add eax, 0x38
push edx
push eax
call fcn.0043cb70
add esp, 0xc
test eax, eax
jl 0x43f5bb
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0xa4]
mov edx, dword [ebx + 8]
push ecx
add eax, 0x38
push edx
push eax
call fcn.0043cb70
add esp, 0xc
test eax, eax
jl 0x43f5bb
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
lea eax, [ebx + 0xc0]
push edx
push eax
call fcn.0043cb70
add esp, 0xc
test eax, eax
jl 0x43f5bb
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
lea eax, [ebx + 0xcc]
push ecx
push eax
call fcn.0043cb70
add esp, 0xc
test eax, eax
jl 0x43f5bb
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
push edx
push eax
lea eax, [ebx + 0xe4]
push eax
call fcn.0043cb70
add esp, 0xc
test eax, eax
jl 0x43f5bb
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
lea eax, [ebx + 0xfc]
push edx
push eax
call fcn.0043cb70
add esp, 0xc
test eax, eax
jl 0x43f5bb
mov eax, dword [ebx + 0x60]
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], edi
cmp eax, edi
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], edi
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], edi
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], reloc.KERNEL32.dll_GetProcessHeap
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], edi
jle 0x43f176
lea ecx, [eax*4]
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
push ecx
call fcn.00443ab0
add esp, 8
cmp eax, edi
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], eax
je 0x43f5bb
mov ecx, dword [ebx + 0x60]
xor eax, eax
cmp ecx, edi
jle 0x43f0cc
mov edx, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
inc eax
mov dword [edx + eax*4 - 4], edi
mov ecx, dword [ebx + 0x60]
cmp eax, ecx
jl 0x43f0ba
mov eax, dword [ebx + 0x60]
xor esi, esi
cmp eax, edi
jle 0x43f176
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
push 0x148
call fcn.00443ab0
mov ecx, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
add esp, 8
mov dword [ecx + esi*4], eax
mov edx, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
cmp dword [edx + esi*4], edi
je 0x43f555
mov eax, dword [ebx + 0x14]
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
imul eax, dword [ebx + 0x10]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*4]
shl edx, 3
push edx
call fcn.00443ab0
mov ecx, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
add esp, 8
mov edx, dword [ecx + esi*4]
mov dword [edx + 0x44], eax
mov eax, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
mov eax, dword [eax + esi*4]
cmp dword [eax + 0x44], edi
je 0x43f555
mov dword [eax + 0x40], edi
mov dword [eax + 0x3c], edi
mov dword [eax + 0x38], edi
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
mov edx, dword [ebx + 8]
push ecx
push edx
mov ecx, dword [eax + esi*4]
add ecx, 0x38
push ecx
call fcn.0043cb70
add esp, 0xc
test eax, eax
jl 0x43f555
mov eax, dword [ebx + 0x60]
inc esi
cmp esi, eax
jl 0x43f0d9
mov eax, dword [ebx + 0x60]
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
inc eax
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], edi
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], edi
mov dword [ebx + 0x110], edi
lea eax, [eax + eax*2]
lea edx, [eax + eax*4]
shl edx, 4
push edx
call fcn.00443ab0
add esp, 8
cmp eax, edi
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], eax
je 0x43f555
mov eax, dword [ebx + 0x60]
xor ecx, ecx
inc eax
test eax, eax
jle 0x43f1eb
xor edx, edx
mov eax, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
mov dword [eax + edx + 0xec], edi
mov dword [eax + edx + 0xe8], edi
mov dword [eax + edx + 0xe4], edi
lea eax, [eax + edx + 0xe4]
inc ecx
mov eax, dword [ebx + 0x60]
add edx, 0xf0
inc eax
cmp ecx, eax
jl 0x43f1ba
mov ecx, dword [ebx + 0x60]
xor esi, esi
inc ecx
test ecx, ecx
jle 0x43f235
mov dword [ebp - 0xc], edi
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
push edx
mov edx, dword [ebp - 0xc]
push eax
lea eax, [ecx + edx + 0xe4]
push eax
call fcn.0043cb70
add esp, 0xc
test eax, eax
jl 0x43f504
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebx + 0x60]
inc esi
add eax, 0xf0
inc ecx
mov dword [ebp - 0xc], eax
cmp esi, ecx
jl 0x43f1f8
mov edx, dword [ebp + 8]
mov ecx, dword [ebx + 0xa0]
mov dword [ebx + 0x70], edi
mov dword [ebx + 0x74], edi
mov eax, dword [edx + 0x60]
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], eax
mov dword [ecx + 0x30], edi
mov dword [ecx + 0x34], edi
mov eax, dword [ebx + 0xa4]
mov ecx, 1
mov dword [eax + 0x30], edi
mov dword [eax + 0x34], edi
mov dword [ebx + 0x80], edi
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], 0xbf800000
mov eax, dword [edx + 0x64]
cmp eax, 1
jl 0x43f27e
mov ecx, eax
mov esi, dword [ebx + 0x14]
cmp ecx, esi
jge 0x43f295
cmp eax, 1
jge 0x43f291
mov ecx, 1
jmp 0x43f297
mov ecx, eax
jmp 0x43f297
mov ecx, esi
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], ecx
mov eax, dword [edx + 0x20]
cmp eax, edi
jle 0x43f4b1
cmp eax, 1
jge 0x43f2b2
mov eax, 1
mov dword [ebp - 0xc], eax
cdq
idiv ecx
mov ecx, 1
cmp eax, 1
jl 0x43f2c4
mov ecx, eax
lea eax, [esi + ecx - 1]
xor edx, edx
div ecx
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
mov esi, eax
mov eax, dword [ebp - 0xc]
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], eax
lea eax, [eax + eax*8]
shl eax, 3
push eax
mov dword [ebp - 0x14], eax
call fcn.00443ab0
add esp, 8
cmp eax, edi
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], eax
je 0x43f4b1
mov ecx, dword [ebx + 8]
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
imul ecx, dword [ebx + 0x14]
shl ecx, 4
push ecx
call fcn.00443ab0
mov edx, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
add esp, 8
mov dword [edx + 0x38], eax
mov eax, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
cmp dword [eax + 0x38], edi
je 0x43f4b1
mov eax, dword [ebp - 0xc]
mov dword [ebp - 8], edi
cmp eax, edi
jle 0x43f49c
lea ecx, [esi*4]
xor edi, edi
mov dword [ebp - 0x10], ecx
mov eax, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
mov ecx, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
cmp eax, ecx
mov esi, eax
jl 0x43f354
mov esi, ecx
mov edx, dword [ebp - 0x10]
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
push edx
mov dword [ebp - 4], esi
call fcn.00443ab0
mov ecx, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
add esp, 8
mov dword [ecx + edi + 0x1c], eax
mov edx, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
mov eax, dword [edx + edi + 0x1c]
test eax, eax
je 0x43f4b1
test edi, edi
jle 0x43f475
cmp dword [ebp - 8], esi
jge 0x43f473
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
push 0x20
call fcn.00443ab0
mov ecx, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
add esp, 8
mov dword [ecx + edi + 0x3c], eax
mov edx, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
mov eax, dword [edx + edi + 0x3c]
test eax, eax
je 0x43f4b1
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
push 0x20
call fcn.00443ab0
mov ecx, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
add esp, 8
mov dword [ecx + edi + 0x40], eax
mov ecx, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
mov eax, dword [ecx + edi + 0x40]
test eax, eax
je 0x43f4b1
mov edx, dword [ebp - 8]
lea eax, [edx - 1]
xor edx, edx
imul eax, dword [ebx + 8]
imul eax, dword [ebx + 0x14]
div esi
mov edx, dword [ecx + 0x38]
shl eax, 4
add eax, edx
mov dword [ecx + edi + 0x38], eax
mov eax, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
mov edx, dword [eax + edi + 0x3c]
lea ecx, [eax + edi]
mov eax, dword [eax + edi + 0x38]
mov ecx, eax
and ecx, 3
sub eax, ecx
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov eax, dword [eax]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
bswap eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov dword [edx], eax
mov eax, dword [edx + 0x14]
mov eax, dword [eax + 4]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
bswap eax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
xor esi, esi
mov dword [edx + 4], eax
lea eax, [ecx*8]
cmp eax, esi
mov dword [edx + 0x1c], eax
mov dword [edx + 0xc], eax
jbe 0x43f46d
mov ecx, 0x20
sub ecx, eax
or eax, reloc.KERNEL32.dll_GetProcessHeap
shl eax, cl
and eax, dword [edx]
mov dword [edx + 8], eax
jmp 0x43f470
mov dword [edx + 8], esi
mov dword [edx + 0x18], esi
test edi, edi
je 0x43f487
mov ecx, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
mov edx, dword [ecx + edi - 0x2c]
lea eax, [ecx + edi]
mov dword [eax + 0x20], edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
inc eax
add edi, 0x48
cmp eax, ecx
mov dword [ebp - 8], eax
jl 0x43f340
mov eax, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax + ecx - 0x2c]
sub edx, 4
mov dword [eax + 0x20], edx
jmp 0x43f4d3
mov eax, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
xor edi, edi
cmp eax, edi
je 0x43f4ee
mov eax, dword [eax + 0x38]
cmp eax, edi
je 0x43f4cd
push eax
call fcn.00443b10
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x20], edi
mov edx, dword [ebp + 8]
mov dword [edx + 0x5c], ebx
mov eax, dword [ebx + 0x78]
push eax
call fcn.00443a90
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push reloc.wtsapi32.dll_WTSVirtualChannelOpen
push 0x48
call fcn.00443ab0
add esp, 8
cmp eax, edi
mov dword [ebx + reloc.KERNEL32.dll_GetProcessHeap], eax
jne 0x43f4cd
mov eax, dword [ebx + 0x60]
xor esi, esi
inc eax
test eax, eax
jle 0x43f546
mov dword [ebp - 0xc], edi
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov eax, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
push ecx
mov ecx, dword [ebp - 0xc]
push edx
lea edx, [eax + ecx + 0xe4]
push edx
call fcn.0043cc80
mov eax, dword [ebp - 0xc]
add esp, 0xc
add eax, 0xf0
inc esi
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x60]
inc eax
cmp esi, eax
jl 0x43f511
mov ecx, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
push ecx
call fcn.00443b10
add esp, 4
mov eax, dword [ebx + 0x60]
cmp eax, edi
jle 0x43f5bb
xor esi, esi
cmp eax, edi
jle 0x43f5ac
mov edx, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
mov eax, dword [edx + esi*4]
cmp eax, edi
je 0x43f5a4
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
add eax, 0x38
push edx
push eax
call fcn.0043cc80
mov eax, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
mov ecx, dword [eax + esi*4]
mov edx, dword [ecx + 0x44]
push edx
call fcn.00443b10
mov eax, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
mov ecx, dword [eax + esi*4]
push ecx
call fcn.00443b10
add esp, 0x14
mov eax, dword [ebx + 0x60]
inc esi
cmp esi, eax
jl 0x43f562
mov edx, dword [ebx + reloc.KERNEL32.dll_GetProcessHeap]
push edx
call fcn.00443b10
add esp, 4
test byte [ebx + 0x18], 1
je 0x43f5ec
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
lea edx, [ebx + 0xa8]
push ecx
push edx
call fcn.0043cc80
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
lea edx, [ebx + 0xb4]
push ecx
push edx
call fcn.0043cc80
add esp, 0x18
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
lea eax, reloc.KERNEL32.dll_GetProcessHeap
push ecx
push eax
call fcn.0043cc80
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
push edx
push eax
lea eax, reloc.KERNEL32.dll_GetProcessHeap
push eax
call fcn.0043cc80
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
lea eax, reloc.KERNEL32.dll_GetProcessHeap
push edx
push eax
call fcn.0043cc80
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0xa0]
mov ecx, dword [ebx + 8]
push eax
add edx, 0x38
push ecx
push edx
call fcn.0043cc80
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0xa4]
mov ecx, dword [ebx + 8]
push eax
add edx, 0x38
push ecx
push edx
call fcn.0043cc80
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
lea eax, [ebx + 0xc0]
push ecx
push eax
call fcn.0043cc80
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 8]
add esp, 0x48
push edx
push eax
lea eax, [ebx + 0xcc]
push eax
call fcn.0043cc80
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push ecx
lea eax, [ebx + 0xe4]
push edx
push eax
call fcn.0043cc80
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
push eax
lea edx, [ebx + 0xfc]
push ecx
push edx
call fcn.0043cc80
add esp, 0x24
mov eax, dword [ebx + 0x78]
push eax
call fcn.00443b10
add esp, 4
mov ecx, dword [ebx + 0xa0]
mov edx, dword [ecx + 0x44]
push edx
call fcn.00443b10
mov eax, dword [ebx + 0xa4]
mov ecx, dword [eax + 0x44]
push ecx
call fcn.00443b10
add esp, 8
mov edx, dword [ebx + 0xa0]
push edx
call fcn.00443b10
mov eax, dword [ebx + 0xa4]
push eax
call fcn.00443b10
add esp, 8
test byte [ebx + 0x18], 4
je 0x43f709
mov ecx, dword [ebx + 0x98]
push ecx
call fcn.00443b10
add esp, 4
test byte [ebx + 0x18], 8
je 0x43f722
mov edx, dword [ebx + 0x9c]
push edx
call fcn.00443b10
add esp, 4
jmp 0x43f722
xor edi, edi
mov eax, dword [ebx + 0x90]
xor esi, esi
cmp eax, edi
jle 0x43f756
mov eax, dword [ebx + 0x94]
mov ecx, dword [eax + esi*8]
lea eax, [eax + esi*8]
cmp ecx, edi
je 0x43f74b
mov edx, dword [eax + 4]
push edi
push edi
push 2
push edx
call ecx
add esp, 0x10
mov eax, dword [ebx + 0x90]
inc esi
cmp esi, eax
jl 0x43f72e
mov eax, dword [ebx + 0x94]
push eax
call fcn.00443b10
mov ecx, dword [ebx + 0x8c]
push ecx
call fcn.00443b10
push ebx
call fcn.00443b10
mov edx, dword [ebp + 8]
add esp, 0xc
mov eax, InternetCloseHandle
mov dword [edx + 0x5c], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
or eax, reloc.KERNEL32.dll_GetProcessHeap
pop ebx
mov esp, ebp
pop ebp
ret