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

Disassembly:
sub esp, 0x188
mov eax, dword [0x6009e4]
xor eax, esp
mov dword [esp + 0x184], eax
push ebx
mov ebx, dword [esp + 0x194]
push ebp
mov ebp, dword [esp + 0x194]
push esi
mov esi, ecx
mov dword [esp + 0x10], edx
push edi
push 0x15c
push 0
mov eax, dword [esi + 0x44]
sub eax, dword [esi + 0x40]
sar eax, 3
mov dword [esp + 0x20], eax
lea eax, [esp + 0x28]
push eax
call fcn.005869c0
mov ecx, dword [esp + 0x1b0]
add esp, 0xc
mov eax, ecx
mov dword [esp + 0x44], ecx
and eax, 1
mov dword [esp + 0x20], esi
mov dword [esp + 0x48], eax
mov edi, ecx
mov eax, ecx
mov dword [esp + 0x3c], 0xffffffff
mov edx, ecx
mov dword [esp + 0x68], 0x96
and eax, 4
and edi, 2
and edx, 8
mov dword [esp + 0x4c], edi
and ecx, 0xc
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], ecx
test eax, eax
je 0x423f9b
xor eax, eax
mov dword [esp + 0x68], 0x3a
test edi, edi
mov dword [esp + 0x6c], 0x3b
mov dword [esp + 0x70], 0x3d
setne al
mov dword [esp + 0x74], 0x3c
add eax, 0x73
mov dword [esp + 0x78], eax
jmp 0x423fc7
test edx, edx
je 0x423fc7
mov dword [esp + 0x68], 0x6f
mov dword [esp + 0x6c], 0x70
mov dword [esp + 0x70], 0x72
mov dword [esp + 0x74], 0x71
mov dword [esp + 0x78], 0x73
mov eax, dword [esp + 0x64]
test ecx, ecx
mov edx, 0x302
mov ecx, esi
cmove eax, edx
mov edx, 0x80
push 1
mov dword [esp + 0x68], eax
call fcn.004146b0
mov edx, dword [esi + 0x44]
add esp, 4
mov ecx, esi
mov eax, dword [edx - 8]
mov dword [esp + 0x30], eax
mov eax, dword [eax + 0x14]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
sub eax, 0xffffff80
mov dword [esp + 0x2c], eax
cmp edx, dword [esi + 0x38]
jae 0x42439c
mov edx, 0x8004080
call fcn.00432100
mov ecx, dword [esi + 0x44]
xor edx, edx
or edx, 0xfff90000
mov dword [ecx], eax
mov dword [ecx + 4], edx
inc dword [eax + 4]
add dword [esi + 0x44], 8
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
sub ecx, edx
sar ecx, 3
test ebp, ebp
lea eax, [ecx - 1]
mov dword [esp + 0x40], eax
lea eax, [ecx + ebp]
cmovns eax, ebp
cmp eax, ecx
jae 0x424057
lea eax, [edx + eax*8]
test eax, eax
jne 0x42405c
mov eax, 0x5ed574
mov edi, 0xfff9
cmp word [eax + 6], di
jne 0x42407a
mov ecx, dword [eax]
test ecx, ecx
je 0x42407a
mov eax, dword [ecx]
test eax, 0x200
je 0x4240cf
mov dword [esp + 0x34], ecx
mov eax, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
sub eax, edx
sar eax, 3
test ebx, ebx
lea ecx, [ebx + eax]
cmovns ecx, ebx
cmp ecx, eax
jae 0x424098
lea eax, [edx + ecx*8]
test eax, eax
jne 0x42409d
mov eax, 0x5ed574
cmp word [eax + 6], di
jne 0x4241bd
mov eax, dword [eax]
test eax, eax
je 0x4241bd
mov eax, dword [eax]
shr eax, 0x1b
cmp eax, 0xa
jne 0x4241af
mov edx, ebx
mov ecx, esi
call fcn.00412250
fstp st(0)
jmp 0x4241bd
and eax, 0xf8000000
cmp eax, 0x10000000
jne 0x42407a
mov ecx, esi
xor edi, edi
call fcn.00414030
mov edx, ebp
mov dword [esp + 0x3c], eax
mov ecx, esi
call fcn.00410d60
push 0xe80
or edx, 0xffffffff
mov ecx, esi
call fcn.00411c60
add esp, 4
lea edx, [edi + 0x60]
mov ecx, esi
call fcn.004325c0
mov ebp, 0xfff9
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x40]
sub eax, ecx
sar eax, 3
lea edx, [eax - 1]
cmp edx, eax
jae 0x42412b
lea eax, [ecx + edx*8]
test eax, eax
jne 0x424130
mov eax, 0x5ed574
cmp word [eax + 6], bp
jne 0x4243b0
cmp dword [eax], 0
je 0x4243b0
or edx, 0xffffffff
mov ecx, esi
call fcn.00410d60
mov edx, 1
mov ecx, esi
call fcn.00432bf0
mov ecx, esi
test eax, eax
je 0x4241a3
or edx, 0xffffffff
call fcn.00410930
mov ecx, eax
call fcn.00423d20
mov ecx, esi
test eax, eax
je 0x424199
or edx, 0xffffffff
call fcn.00412bd0
push edi
mov edx, 0xfffffffc
mov ecx, esi
call fcn.0040fa90
add esp, 4
mov ecx, esi
inc edi
call fcn.00414cb0
jmp 0x424112
call fcn.00414d90
jmp 0x424112
call fcn.00414cb0
mov edi, ebp
jmp 0x42407a
cmp eax, 0xc
jne 0x4241bd
mov edx, ebx
mov ecx, esi
call fcn.00412bd0
mov ecx, dword [esi + 0x44]
mov eax, ecx
mov edi, dword [esi + 0x40]
sub eax, edi
sar eax, 3
test ebx, ebx
lea edx, [ebx + eax]
cmovns edx, ebx
cmp edx, eax
jae 0x4241dd
lea edx, [edi + edx*8]
test edx, edx
jne 0x4241e2
mov edx, 0x5ed574
mov ebp, 0xfff0
mov dword [esp + 0x10], 0xfff8
cmp word [edx + 6], bp
ja 0x42422a
lea eax, [esp + 0x1c]
mov edx, ebx
push eax
push 0xa
push 0
mov ecx, esi
call fcn.00412ab0
add esp, 0xc
mov edx, 0x5ed928
mov ecx, esi
push eax
call fcn.00413880
mov ecx, dword [esi + 0x44]
add esp, 4
mov ebp, dword [esp + 0x10]
mov eax, dword [ecx - 8]
mov dword [esp + 0x38], eax
jmp 0x424281
test ebx, ebx
lea edx, [eax + ebx]
cmovns edx, ebx
cmp edx, eax
jae 0x42423d
lea eax, [edi + edx*8]
test eax, eax
jne 0x424242
mov eax, 0x5ed574
mov ebp, dword [esp + 0x10]
cmp word [eax + 6], bp
jne 0x42427d
mov eax, dword [eax]
test eax, eax
je 0x42427d
test dword [eax], 0x200
jne 0x42427d
mov edx, ebx
mov ecx, esi
call fcn.00410d60
push 0xa
push 0
mov ecx, esi
call fcn.00415ce0
mov ecx, dword [esi + 0x44]
add esp, 8
mov eax, dword [ecx - 8]
mov dword [esp + 0x38], eax
jmp 0x424281
mov eax, dword [esp + 0x38]
test eax, eax
je 0x424291
xor edx, edx
cmp dword [eax + 0x14], edx
cmove eax, edx
mov dword [esp + 0x38], eax
cmp ecx, dword [esi + 0x38]
mov ecx, esi
jae 0x4243c8
mov edx, 0x8004080
call fcn.00432100
mov ecx, dword [esi + 0x44]
xor edx, edx
or edx, 0xfff90000
mov dword [ecx], eax
mov dword [ecx + 4], edx
inc dword [eax + 4]
add dword [esi + 0x44], 8
mov ecx, dword [esi + 0x70]
mov dword [eax + 0x14], ecx
test ecx, ecx
je 0x4242ca
inc dword [ecx + 4]
mov edi, dword [esi + 0x44]
mov ecx, esi
sub edi, dword [esi + 0x40]
mov edx, dword [esp + 0x14]
sar edi, 3
call fcn.00410d60
push 0xf
mov edx, 0xfffffffe
mov ecx, esi
call fcn.0040fb80
mov eax, dword [esi + 0x130]
xor ebx, ebx
mov ecx, dword [esi + 0x44]
or ebx, 0xfff80000
add esp, 4
mov dword [esp + 0x184], ebx
mov edx, dword [eax + 0x3c]
cmp ecx, dword [esi + 0x38]
jae 0x4243dc
lea eax, [ecx + 8]
mov dword [esi + 0x44], eax
mov dword [ecx], edx
mov dword [ecx + 4], ebx
cmp word [esp + 0x186], bp
jb 0x42432b
inc dword [edx + 4]
lea edx, [edi - 1]
mov dword [esp + 0x60], 0x3e8
lea ecx, [esp + 0x20]
call fcn.004237e0
test eax, eax
jne 0x424357
mov eax, dword [esi + 0x44]
cmp eax, dword [esi + 0x38]
jae 0x4243f2
add eax, 8
mov dword [esi + 0x44], eax
jmp 0x42436c
mov eax, dword [esp + 0x24]
mov ecx, esi
mov edx, dword [esp + 0x28]
sub eax, edx
push eax
call fcn.00413880
add esp, 4
mov edi, dword [esp + 0x18]
mov ecx, esi
mov edx, edi
call fcn.00411220
lea edx, [edi + 1]
mov ecx, esi
call fcn.00410990
mov ecx, dword [esp + 0x194]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00584a28
add esp, 0x188
ret
push str.cannot_push_beyond_allocated_stack
push 0x30011fc
mov edx, 0x6044c0
call fcn.0040d110
push 0x604170
push 0xffffffffffffffff
push 0x852
mov edx, 0x604178
mov ecx, esi
call fcn.0040d130
push str.cannot_push_beyond_allocated_stack
push 0x30011fc
mov edx, 0x6044c0
call fcn.0040d110
push str.cannot_push_beyond_allocated_stack
push 0x3001039
mov edx, 0x604378
mov ecx, esi
call fcn.0040d110
push str.cannot_push_beyond_allocated_stack
push 0x3001042
mov edx, 0x604388
mov ecx, esi
call fcn.0040d110
int3