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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x42d21a
sub esp, 0x68
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x80]
mov dword [esp], ecx
call fcn.0040b970
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.0042c6a0
mov eax, dword [esp + 0x74]
shl eax, 0xd
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x70]
lea edx, [eax + ecx - 1]
mov ebx, dword [esp + 4]
mov dword [esp + 0x2c], ebx
mov dword [esp], edx
call fcn.0042c6a0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x54]
add ecx, eax
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x2c]
cmp edx, ebx
je 0x42cec6
mov dword [esp + 0x44], edx
movzx ebp, byte [esp + 0x78]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x42cdfe
mov ebp, dword [esp + 0x6c]
mov esi, dword [ebp + 0x24]
mov dword [esp + 0x58], esi
mov edi, dword [ebp + 0x28]
mov dword [esp + 0x24], edi
jmp 0x42d1da
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x5c], ecx
mov edx, dword [eax + 0x28]
mov dword [esp + 0x28], edx
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.0042ca70
mov eax, dword [esp + 8]
test byte [eax], al
mov dword [esp], eax
call fcn.00430370
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
cmp edx, ebx
jbe 0x42d1aa
mov ebp, dword [esp + 0x5c]
lea esi, [ebp + ebx*8 + 4]
mov dword [esi], eax
lea esi, [ebp + ebx*8]
mov dword [esi], ecx
mov esi, dword [esp + 0x6c]
mov edi, dword [esi + 0x2c]
mov eax, ebp
mov ebp, dword [esi + 0x24]
mov ecx, dword [esp + 0x44]
cmp edi, ecx
jb 0x42d1a3
lea edx, [ebx + 1]
cmp ecx, edx
jb 0x42d19c
sub edi, ebx
dec edi
xchg edi, ebx
neg ebx
xchg edi, ebx
shl edx, 3
sar edi, 0x1f
and edi, edx
lea edx, [edi + ebp]
mov ebp, ecx
sub ecx, ebx
dec ecx
movzx ebx, byte [esp + 0x79]
test bl, bl
jne 0x42ce9e
xor ebx, ebx
jmp 0x42d18f
test ecx, ecx
je 0x42d12b
mov dword [esp], edx
shl ecx, 3
mov dword [esp + 4], ecx
call fcn.00469080
mov eax, dword [esp + 0x5c]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x6c]
jmp 0x42d12b
mov edx, dword [esp + 0x6c]
mov ebp, dword [edx + 0x28]
mov esi, dword [edx + 0x24]
cmp ebp, ebx
jbe 0x42d122
lea eax, [esi + ebx*8]
mov ecx, dword [eax]
mov dword [esp + 0x1c], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x20], eax
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0042ca70
mov eax, dword [esp + 8]
test byte [eax], al
mov dword [esp], eax
call fcn.00430370
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x20]
cmp eax, ecx
sete cl
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x1c]
cmp edx, ebx
sete bl
and ecx, ebx
test cl, cl
jne 0x42cf47
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x28]
mov esi, dword [esp + 0x2c]
cmp ecx, esi
jbe 0x42d11b
lea edi, [ebp + esi*8 + 4]
mov dword [edi], eax
lea ebp, [ebp + esi*8]
mov dword [ebp], edx
jmp 0x42cf4b
add esp, 0x68
ret
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x54]
mov eax, 2
mov ecx, 1
jmp 0x42cf70
lea eax, [esi - 1]
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x54]
mov ebx, ebp
mov ebp, esi
mov ecx, edi
test eax, eax
jl 0x42cfd4
test cl, cl
je 0x42cfd4
lea esi, [eax + 1]
cmp esi, 4
jae 0x42d10f
mov dword [esp + 0x38], eax
lea ecx, [0x5ab780]
mov ebx, dword [ecx + eax*4 + 4]
mov dword [esp + 0x34], ebx
lea esi, [0x5ab790]
mov edi, dword [esi + eax*4 + 4]
mov dword [esp + 0x30], edi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0042c830
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x38]
xor edi, edi
jmp 0x42cffe
add esp, 0x68
ret
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x50]
mov ecx, ebp
mov edx, dword [esp + 0x30]
mov ebp, esi
mov esi, dword [esp + 0x38]
mov edi, eax
mov eax, dword [esp + 0x50]
cmp eax, ecx
jge 0x42cf5f
mov dword [esp + 0x3c], eax
xchg edi, eax
mov byte [esp + 0x1b], al
xchg edi, eax
cmp ebx, 0x20
sbb edi, edi
mov dword [esp + 0x50], edi
lea esi, [esi + esi*2]
mov dword [esp + 0x4c], esi
mov edi, dword [ebp + esi*4 + 0x14]
mov ebp, dword [ebp + esi*4 + 0xc]
mov dword [esp + 0x64], ebp
mov ecx, ebx
shl eax, cl
mov esi, dword [esp + 0x50]
and eax, esi
mov ebp, dword [esp + 0x3c]
inc ebp
mov dword [esp + 0x50], ebp
shl ebp, cl
and ebp, esi
cmp edi, ebp
jb 0x42d106
cmp ebp, eax
jb 0x42d0ff
sub edi, eax
mov ecx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
mov ebx, eax
shl eax, 3
sar edi, 0x1f
and edi, eax
mov eax, dword [esp + 0x64]
add eax, edi
mov dword [esp], eax
sub ebp, ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.0042eb30
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
cmp edx, 4
jae 0x42d0f3
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x6c]
mov esi, dword [ebp + ebx*4]
mov ebx, dword [ebp + ebx*4 + 4]
mov edi, dword [esp + 0x3c]
cmp edi, ebx
jae 0x42d0ea
lea ebx, [esi + edi*8]
mov dword [esp + 0x60], ebx
cmp dword [ebx + 4], ecx
xchg ebp, ebx
setne bl
xchg ebp, ebx
cmp dword [ebx], eax
setne bl
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x42d0e0
lea ebx, [esi + edi*8 + 4]
mov dword [ebx], ecx
mov ebx, dword [esp + 0x60]
mov dword [ebx], eax
mov eax, 1
jmp 0x42cfd8
movzx eax, byte [esp + 0x1b]
jmp 0x42cfd8
mov eax, edi
mov ecx, ebx
call fcn.00468a00
mov eax, edx
mov ecx, 4
call fcn.00468a00
mov ecx, ebp
call fcn.00468a60
mov ecx, ebp
mov edx, edi
call fcn.00468a40
mov eax, esi
mov ecx, 4
call fcn.00468a00
mov eax, esi
call fcn.00468a10
mov eax, ebx
mov ecx, ebp
call fcn.00468a10
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0042ca70
mov eax, dword [esp + 8]
test byte [eax], al
mov dword [esp], eax
call fcn.00430370
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x44]
cmp edx, ebx
jbe 0x42d172
mov edx, dword [esp + 0x5c]
lea ebp, [edx + ebx*8 + 4]
mov dword [ebp], eax
lea edx, [edx + ebx*8]
mov dword [edx], ecx
mov ebx, dword [esp + 0x6c]
jmp 0x42cf4b
mov eax, ebx
mov ecx, edx
call fcn.00468a10
lea edi, [edx + ebx*8]
mov dword [edi], 0x8000200
lea edi, [edx + ebx*8 + 4]
mov dword [edi], 0x2000
inc ebx
cmp ebx, ecx
jge 0x42d12b
jb 0x42d17b
mov eax, ebx
call fcn.00468a00
mov eax, edx
call fcn.00468a70
mov edx, edi
call fcn.00468a50
mov eax, ebx
mov ecx, edx
call fcn.00468a10
mov esi, dword [esp + 0x58]
lea ebp, [esi + edx*8 + 4]
mov dword [ebp], eax
lea eax, [esi + edx*8]
mov dword [eax], ecx
lea eax, [edx + 1]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x6c]
mov edi, ebx
mov ebx, eax
mov eax, dword [esp + 0x70]
cmp ebx, edx
ja 0x42d169
mov dword [esp + 0x48], ebx
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.0042ca70
mov eax, dword [esp + 8]
test byte [eax], al
mov dword [esp], eax
call fcn.00430370
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x24]
cmp edx, ebx
jb 0x42d1b3
mov eax, edx
mov ecx, ebx
call fcn.00468a10
nop
call fcn.00467570
jmp fcn.0042cd60