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

Disassembly:
sub esp, 0x84
push esi
mov esi, dword [esp + 0x8c]
test esi, esi
je 0x4698a0
mov ecx, dword [esp + 0xa0]
test ecx, ecx
je 0x4698a0
mov eax, dword [esi]
movzx eax, word [eax + 0xe]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xac]
shr eax, 3
mov dword [esp + 0x64], eax
movzx eax, word [ecx + 0xe]
shr eax, 3
push edi
mov dword [esp + 0x30], eax
test edx, edx
jle 0x469895
mov edi, dword [esp + 0xb4]
test edi, edi
jle 0x469895
cmp dword [esp + 0x9c], 0
jle 0x469895
mov eax, dword [esp + 0xac]
push ebx
push ebp
mov ebp, dword [sym.imp.USER32.dll_SetRect]
lea ecx, [eax + edi]
push ecx
mov ecx, dword [esp + 0xb4]
add edx, ecx
push edx
push eax
push ecx
lea eax, [esp + 0x28]
push eax
call ebp
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
lea ecx, [eax + ebx]
push ecx
mov ecx, dword [esp + 0xa0]
add edx, ecx
push edx
push eax
push ecx
lea eax, [esp + 0x5c]
push eax
call ebp
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
mov dword [esp + 0x74], ecx
mov ecx, dword [esi + 0x1c]
mov esi, dword [esp + 0xac]
push esi
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
call fcn.0041b850
add esp, 4
push eax
push esi
call fcn.0041b830
add esp, 4
push eax
push 0
push 0
lea edx, [esp + 0x94]
push edx
call ebp
xor esi, esi
xor ecx, ecx
cmp ebx, edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ecx
jle 0x469364
lea eax, [ebx + 1]
cdq
push edx
push eax
push edi
push ecx
call fcn.004f7d30
mov ebp, eax
mov esi, ebp
mov dword [esp + 0x14], edx
mov dword [esp + 0x28], esi
jmp 0x4693a7
jge 0x46939d
mov eax, ebx
cdq
push edx
push eax
push edi
push ecx
call fcn.004f7d30
mov ebp, eax
mov dword [esp + 0x14], edx
shrd eax, edx, 1
shr edx, 1
mov esi, eax
add esi, reloc.WS2_32.dll_accept
mov eax, edx
adc eax, 0xffffffff
add dword [esp + 0x1c], eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], 0
jmp 0x4693a7
xor ebp, ebp
mov dword [esp + 0x14], 1
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x1c]
cmp edx, eax
mov dword [esp + 0x10], ebp
jge 0x4693fa
push ebx
sub eax, edx
xor ecx, ecx
cdq
push ecx
push edx
push eax
call fcn.004f4b30
mov ecx, eax
mov ebp, edx
mov eax, edi
cdq
push edx
push eax
push ebp
push ecx
call fcn.004f7d30
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x44], eax
mov eax, edx
imul eax, ebp
add esi, eax
add dword [esp + 0x50], edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x50]
cmp ecx, eax
jge 0x46942c
sub eax, ecx
mov ecx, dword [esp + 0x14]
push ecx
cdq
push ebp
push edx
push eax
call fcn.004f4b30
add eax, esi
adc edx, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
add dword [esp + 0x1c], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x50], edx
mov esi, dword [esp + 0x90]
mov eax, dword [esp + 0x24]
cmp eax, esi
jle 0x469465
push ebx
sub eax, esi
xor ecx, ecx
cdq
push ecx
push edx
push eax
call fcn.004f4b30
mov ecx, eax
mov ebx, edx
mov eax, edi
cdq
push edx
push eax
push ebx
push ecx
call fcn.004f7d30
sub dword [esp + 0x58], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x80]
mov eax, dword [esp + 0x58]
cmp eax, esi
jle 0x469490
mov ecx, dword [esp + 0x14]
push ecx
sub eax, esi
cdq
push ebp
push edx
push eax
call fcn.004f4b30
sub dword [esp + 0x24], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x58], esi
mov edx, dword [esp + 0x58]
cmp dword [esp + 0x50], edx
jge 0x469632
mov ebp, dword [esp + 0xa4]
mov ecx, dword [esp + 0xb8]
xor esi, esi
cmp ebp, ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
jle 0x4694d5
lea eax, [ebp + 1]
cdq
push edx
push eax
push ecx
push esi
call fcn.004f7d30
mov edi, eax
mov esi, edi
mov dword [esp + 0x40], edx
mov dword [esp + 0x30], esi
jmp 0x469520
jge 0x469516
mov eax, ebp
cdq
push edx
push eax
push ecx
xor esi, esi
push esi
call fcn.004f7d30
mov ebx, dword [esp + 0x18]
mov edi, eax
mov dword [esp + 0x40], edx
shrd eax, edx, 1
shr edx, 1
mov esi, eax
add esi, reloc.WS2_32.dll_accept
mov eax, edx
adc eax, 0xffffffff
add ebx, eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x34], 0
jmp 0x469524
xor edi, edi
mov dword [esp + 0x40], 1
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x84]
cmp ebx, eax
mov dword [esp + 0x3c], edi
jge 0x46957c
push ebp
sub eax, ebx
xor ecx, ecx
cdq
push ecx
push edx
push eax
call fcn.004f4b30
mov ecx, eax
mov eax, dword [esp + 0xb8]
mov ebx, edx
cdq
push edx
push eax
push ebx
push ecx
call fcn.004f7d30
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x44], eax
mov eax, edi
imul eax, edx
add esi, eax
add ebp, edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x18], ebx
jmp 0x469580
mov ebp, dword [esp + 0x4c]
mov eax, dword [esp + 0x74]
cmp ebp, eax
jge 0x4695b0
mov ecx, dword [esp + 0x40]
push ecx
sub eax, ebp
cdq
push edi
push edx
push eax
call fcn.004f4b30
mov ebp, dword [esp + 0x74]
add eax, esi
adc edx, dword [esp + 0x34]
mov dword [esp + 0x30], eax
add ebx, edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x4c], ebp
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x20]
cmp eax, edx
jle 0x469604
mov esi, dword [esp + 0xa4]
push esi
sub eax, edx
xor ecx, ecx
cdq
push ecx
push edx
push eax
call fcn.004f4b30
mov ecx, eax
mov eax, dword [esp + 0xb8]
mov esi, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.004f7d30
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x54]
sub eax, edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x20], edx
jmp 0x469608
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x7c]
cmp eax, esi
jle 0x46962e
mov ecx, dword [esp + 0x40]
push ecx
sub eax, esi
cdq
push edi
push edx
push eax
call fcn.004f4b30
sub dword [esp + 0x20], edx
mov dword [esp + 0x44], eax
mov eax, esi
mov dword [esp + 0x54], eax
cmp ebp, eax
jl 0x46963f
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x84
ret
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x98]
sub eax, ebp
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x50]
push eax
sub ecx, eax
push ebp
push edi
mov dword [esp + 0x74], ecx
call fcn.0041b870
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0xb8]
push edx
push ebx
push esi
mov dword [esp + 0x84], eax
call fcn.0041b870
mov edx, dword [edi + 0xc]
mov esi, dword [esi + 0xc]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xd8]
mov ecx, eax
and ecx, 0xff000000
add esp, 0x18
neg edx
neg esi
neg ecx
sbb ecx, ecx
add ecx, 1
je 0x4696bd
movzx edi, byte [esp + 0xc2]
movzx ebp, ah
movzx eax, al
mov dword [esp + 0x44], ebp
mov dword [esp + 0x5c], eax
jmp 0x4696c1
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x70]
sub eax, ebx
mov ebx, dword [esp + 0x24]
sub ebx, dword [esp + 0x1c]
dec eax
dec ebx
cmp ebp, 4
jne 0x469740
cmp dword [esp + 0x38], ebp
jne 0x469745
push ebp
push ebp
lea ebp, [esp + 0x30]
push ebp
lea ebp, [esp + 0x1c]
push ebp
lea ebp, [esp + 0x40]
push ebp
lea ebp, [esp + 0x50]
push ebp
mov ebp, dword [esp + 0x7c]
push ebp
mov ebp, dword [esp + 0x84]
push ebp
mov ebp, dword [esp + 0x8c]
push ebp
mov ebp, dword [esp + 0x84]
push ebp
push edx
mov edx, dword [esp + 0x88]
push esi
push ecx
mov ecx, dword [esp + 0x78]
push edi
push ecx
push edx
push eax
push ebx
push 0x468520
mov eax, dword [0x58c6a8]
push 0x12
push eax
call sub.VCOMP90.DLL__vcomp_fork
add esp, 0x54
jmp 0x469885
cmp ebp, 3
jb 0x46979d
cmp dword [esp + 0x38], 3
jb 0x46979d
push ebp
mov ebp, dword [esp + 0x3c]
push ebp
lea ebp, [esp + 0x30]
push ebp
lea ebp, [esp + 0x1c]
push ebp
lea ebp, [esp + 0x40]
push ebp
lea ebp, [esp + 0x50]
push ebp
mov ebp, dword [esp + 0x7c]
push ebp
mov ebp, dword [esp + 0x84]
push ebp
mov ebp, dword [esp + 0x8c]
push ebp
mov ebp, dword [esp + 0x84]
push ebp
push edx
mov edx, dword [esp + 0x88]
push esi
push ecx
mov ecx, dword [esp + 0x78]
push edi
push ecx
push edx
push eax
push ebx
push 0x468960
jmp 0x46972b
cmp ebp, 2
jne 0x469826
cmp dword [esp + 0x38], ebp
jne 0x469885
xor ebp, ebp
test ecx, ecx
je 0x4697dd
mov ebp, dword [esp + 0x44]
and edi, 0xf8
and ebp, 0xf8
shl edi, 5
or edi, ebp
mov ebp, dword [esp + 0x5c]
shr ebp, 3
add edi, edi
movzx ebp, bp
add edi, edi
or edi, ebp
mov ebp, edi
push 2
lea edi, [esp + 0x2c]
push edi
lea edi, [esp + 0x18]
push edi
lea edi, [esp + 0x3c]
push edi
lea edi, [esp + 0x4c]
push edi
mov edi, dword [esp + 0x78]
push edi
mov edi, dword [esp + 0x80]
push edi
mov edi, dword [esp + 0x88]
push edi
mov edi, dword [esp + 0x80]
push edi
push edx
push esi
push ecx
mov ecx, dword [0x58c6a8]
push eax
push ebx
push ebp
push 0x468cb0
push 0xf
push ecx
jmp 0x46987d
cmp ebp, 1
jne 0x469885
cmp dword [esp + 0x38], ebp
jne 0x469885
push ebp
lea edi, [esp + 0x2c]
push edi
lea edi, [esp + 0x18]
push edi
lea edi, [esp + 0x3c]
push edi
lea edi, [esp + 0x4c]
push edi
mov edi, dword [esp + 0x78]
push edi
mov edi, dword [esp + 0x80]
push edi
mov edi, dword [esp + 0x88]
push edi
mov edi, dword [esp + 0x80]
push edi
push edx
mov edx, dword [esp + 0x84]
push esi
push ecx
push edx
push eax
mov eax, dword [0x58c6a8]
push ebx
push 0x469050
push 0xf
push eax
call sub.VCOMP90.DLL__vcomp_fork
add esp, 0x48
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0x84
ret
pop edi
xor eax, eax
pop esi
add esp, 0x84
ret
xor eax, eax
pop esi
add esp, 0x84
ret