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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x42ec90
sub esp, 0x70
mov eax, dword [0x5cd8b0]
test eax, eax
jl 0x42ec78
mov ecx, dword [esp + 0x74]
test ecx, ecx
jle 0x42ec78
mov dword [esp + 0x20], eax
movzx edx, byte [0x5c5788]
test dl, dl
jne 0x42ec1b
call fcn.0044aa00
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov edx, dword [0x5bd76c]
mov ebx, dword [0x5bd770]
test ebx, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
test edx, edx
xchg esi, ebx
setne bl
xchg esi, ebx
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x42ec0e
mov dword [esp + 0x24], ecx
mov ebp, eax
sub eax, edx
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0x20]
mov edi, edx
mul esi
mov dword [esp + 0x4c], eax
mov ecx, dword [0x5bd774]
mov dword [esp + 0x48], ecx
add eax, ecx
mov ecx, dword [0x5bd778]
mov dword [esp + 0x44], ecx
mov dword [0x5bd774], eax
mov eax, esi
sar esi, 0x1f
mov ecx, dword [esp + 0x50]
imul ecx, esi
add ecx, edx
mov edx, ebp
sub ebp, edi
mov ebp, dword [esp + 0x24]
mov esi, ebp
sbb ebp, ebx
imul ebp, eax
add ecx, ebp
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x48]
add ebx, ebp
mov ebx, dword [esp + 0x44]
adc ebx, ecx
mov dword [0x5bd778], ebx
mov dword [0x5bd76c], edx
mov dword [0x5bd770], esi
mov ecx, dword [0x5bd3bc]
mov edx, dword [esp + 0x74]
cmp edx, ecx
jg 0x42eb30
xor ecx, ecx
jmp 0x42e478
inc ecx
cmp ecx, edx
jge 0x42e5f7
mov ebx, dword [0x5bd3b8]
mov ebp, dword [0x5bd3bc]
cmp ecx, ebp
jae 0x42ec71
mov dword [esp + 0x3c], ecx
mov ebx, dword [ebx + ecx*4]
test ebx, ebx
je 0x42e4f2
mov ebp, dword [ebx + 0x34]
test ebp, ebp
jne 0x42e477
mov dword [esp + 0x54], ebx
test eax, eax
jne 0x42e4d5
test ecx, ecx
jne 0x42e4d5
mov ebp, dword fs:[0x14]
mov ebp, dword [ebp]
mov ebp, dword [ebp + 0x18]
mov ebp, dword [ebp + 0xbc]
test ebp, ebp
je 0x42ec4b
mov dword [ebx + 0x34], ebp
jmp 0x42e477
call fcn.00410b90
mov eax, dword [esp]
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x34], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x74]
jmp 0x42e477
lea eax, [0x4f1340]
mov dword [esp], eax
call fcn.00409680
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov dword [eax + 8], 3
mov dword [eax + 0x720], 0
mov dword [eax + 0x724], 0x80
mov edx, dword [0x5cd9c0]
lea ebx, [eax + 0x728]
test edx, edx
jne 0x42e5e1
mov dword [eax + 0x71c], ebx
xor edx, edx
jmp 0x42e547
lea edx, [esi + 1]
cmp edx, 5
jge 0x42e58f
jae 0x42ec6a
lea ebx, [edx + edx*2]
mov dword [eax + ebx*4 + 0x40], 0
mov dword [eax + ebx*4 + 0x44], 0x20
lea edi, [eax + ebx*4 + 0x3c]
mov ebp, dword [0x5cd9c0]
mov esi, edx
shl edx, 7
lea edx, [eax + edx + 0x78]
test ebp, ebp
jne 0x42e582
mov dword [eax + ebx*4 + 0x3c], edx
jmp 0x42e544
mov ebx, eax
mov eax, edx
call fcn.00449ce0
mov eax, ebx
jmp 0x42e544
mov dword [esp + 0x54], eax
lea ecx, [eax + 0x978]
mov dword [esp], ecx
call fcn.00421240
mov eax, dword [0x5bd3bc]
mov ecx, dword [0x5bd3b8]
mov edx, dword [esp + 0x3c]
cmp edx, eax
jae 0x42ec63
lea eax, [ecx + edx*4]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.00402ff0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x54]
jmp 0x42e49f
lea edi, [eax + 0x71c]
mov edx, eax
mov eax, ebx
call fcn.00449ce0
mov eax, edx
jmp 0x42e540
mov ecx, edx
jmp 0x42e7ed
mov ebp, dword [0x5bd710]
inc ebp
mov dword [0x5bd710], ebp
mov ebp, dword [ebx + 0x308]
mov esi, dword [ebx + 0x30c]
cmp ebp, esi
je 0x42e665
lea ebp, [esi - 1]
mov dword [ebx + 0x30c], ebp
and ebp, 0xff
mov ebp, dword [ebx + ebp*4 + 0x310]
mov esi, dword [0x5bd708]
mov dword [ebp + 0x58], esi
lea esi, [0x5bd708]
test byte [esi], al
mov esi, ebp
mov dword [0x5bd708], ebp
mov ebp, dword [0x5bd70c]
test ebp, ebp
jne 0x42e5fe
lea ebp, [0x5bd70c]
test byte [ebp], al
mov dword [0x5bd70c], esi
jmp 0x42e5fe
mov ebp, dword [ebx + 0x710]
test ebp, ebp
je 0x42e6b8
mov esi, dword [0x5bd708]
mov dword [ebp + 0x58], esi
lea esi, [0x5bd708]
test byte [esi], al
mov esi, ebp
mov dword [0x5bd708], ebp
mov ebp, dword [0x5bd70c]
test ebp, ebp
jne 0x42e6a1
lea ebp, [0x5bd70c]
test byte [ebp], al
mov dword [0x5bd70c], esi
mov ebp, dword [0x5bd710]
inc ebp
mov dword [0x5bd710], ebp
mov dword [ebx + 0x710], 0
mov ebp, dword [ebx + 0x950]
test ebp, ebp
jne 0x42e87f
mov ebp, dword [0x5cd8ac]
test ebp, ebp
jne 0x42e85c
lea eax, [ebx + 0x728]
mov dword [esp], eax
mov dword [esp + 4], 0x200
call fcn.0040e510
mov eax, dword [esp + 0x5c]
lea ecx, [eax + 0x728]
test byte [ecx], al
mov dword [eax + 0x720], 0
mov dword [eax + 0x724], 0x80
mov edx, dword [0x5cd9c0]
test edx, edx
jne 0x42e846
mov dword [eax + 0x71c], ecx
xor ecx, ecx
jmp 0x42e727
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 5
jge 0x42e795
jae 0x42ec3d
mov dword [esp + 0x30], ecx
shl ecx, 7
mov dword [esp + 0x40], ecx
lea ebx, [eax + ecx + 0x78]
mov dword [esp], ebx
mov dword [esp + 4], pe_nt_image_headers32
call fcn.0040e510
mov eax, dword [esp + 0x30]
lea ecx, [eax + eax*2]
mov edx, dword [esp + 0x5c]
mov dword [edx + ecx*4 + 0x40], 0
mov dword [edx + ecx*4 + 0x44], 0x20
mov ebx, dword [esp + 0x40]
lea ebx, [edx + ebx + 0x78]
lea edi, [edx + ecx*4 + 0x3c]
mov ebp, dword [0x5cd9c0]
test ebp, ebp
jne 0x42e788
mov dword [edx + ecx*4 + 0x3c], ebx
jmp 0x42e722
mov ecx, eax
mov eax, ebx
call fcn.00449ce0
mov eax, ecx
jmp 0x42e722
mov ecx, dword [eax + 0x34]
mov dword [esp], ecx
call fcn.00410c30
mov eax, dword [esp + 0x5c]
mov dword [eax + 0x34], 0
mov dword [esp], eax
call fcn.0042e090
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.0043df00
mov eax, dword [esp + 0x5c]
mov dword [eax + 0x940], 0
mov dword [eax + 0x944], 0
mov dword [eax + 8], 4
mov eax, dword [esp + 0x34]
lea edx, [eax + 1]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x74]
cmp edx, eax
jge 0x42e958
mov ebx, dword [0x5bd3bc]
mov ebp, dword [0x5bd3b8]
cmp edx, ebx
jae 0x42ec44
mov dword [esp + 0x34], edx
mov ebx, dword [ebp + edx*4]
mov dword [esp + 0x5c], ebx
movzx ebp, byte [0x5c5788]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x42e60b
mov ebp, dword fs:[0x14]
mov ebp, dword [ebp]
mov ebp, dword [ebp + 0x18]
mov ebp, dword [ebp + 0x54]
cmp ebp, ebx
jne 0x42e60b
jmp 0x42e932
lea edi, [eax + 0x71c]
mov edx, eax
mov eax, ecx
call fcn.00449ce0
mov eax, edx
jmp 0x42e71e
mov dword [esp], ebx
call fcn.00421360
mov eax, dword [esp + 0x5c]
lea ecx, [eax + 0x960]
mov dword [esp], ecx
call fcn.0041c270
mov ebx, dword [esp + 0x5c]
jmp 0x42e6d4
mov dword [esp + 0x6c], ebp
mov dword [esp], ebp
mov dword [esp + 4], 4
mov dword [esp + 8], 1
call fcn.00428af0
movzx eax, byte [0x5c5788]
test al, al
jne 0x42e919
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x58], 0
mov ecx, dword [0x5bd70c]
test ecx, ecx
je 0x42e907
lea edx, [ecx + 0x58]
test byte [edx], al
mov edx, eax
mov dword [ecx + 0x58], eax
lea ebp, [0x5bd70c]
test byte [ebp], al
mov dword [0x5bd70c], edx
mov ebp, dword [0x5bd710]
inc ebp
mov dword [0x5bd710], ebp
mov ebx, dword [esp + 0x5c]
lea ebp, [ebx + 0x950]
test byte [ebp], al
xor ebp, ebp
mov dword [ebx + 0x950], ebp
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x34]
jmp 0x42e6c6
lea ecx, [0x5bd708]
test byte [ecx], al
mov edx, eax
mov dword [0x5bd708], eax
jmp 0x42e8c5
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0043f530
jmp 0x42e8a6
call fcn.0043f3c0
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.0043ebe0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x5c]
jmp 0x42e60b
mov eax, dword [0x5bd3bc]
cmp ecx, eax
jne 0x42eaf3
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov dword [esp + 0x68], eax
mov edx, dword [eax + 0x18]
mov edx, dword [edx + 0x54]
test edx, edx
je 0x42eaef
mov ebx, edx
mov ebp, dword [edx + 4]
cmp ebp, ecx
jge 0x42ea82
mov dword [edx + 8], 1
lea edx, [ecx - 1]
xor ebx, ebx
jmp 0x42e9a1
dec edx
mov dword [esp + 0x58], ebx
test edx, edx
jl 0x42ea4e
mov ebp, dword [0x5bd3bc]
mov esi, dword [0x5bd3b8]
cmp edx, ebp
jae 0x42ec28
mov ebp, dword [eax + 0x18]
mov esi, dword [esi + edx*4]
mov ebp, dword [ebp + 0x54]
cmp ebp, esi
je 0x42e9a0
mov dword [esp + 0x38], edx
mov dword [esp + 0x60], esi
mov dword [esi + 8], 0
mov dword [esp], esi
call fcn.00430c20
movzx eax, byte [esp + 4]
test al, al
jne 0x42ea3c
mov eax, dword [0x5bd6d4]
test eax, eax
je 0x42ea11
mov ecx, dword [eax + 0xb8]
mov dword [0x5bd6d4], ecx
mov ecx, dword [0x5bd6d8]
dec ecx
mov dword [0x5bd6d8], ecx
mov ecx, dword [esp + 0x60]
lea edx, [ecx + 0x30]
test byte [edx], al
mov dword [ecx + 0x30], eax
lea eax, [ecx + 0xc]
test byte [eax], al
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x38]
mov ebx, ecx
mov ecx, dword [esp + 0x74]
jmp 0x42e9a0
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.00430b40
mov ecx, dword [esp + 0x58]
jmp 0x42ea29
lea eax, [0x5bd430]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004315a0
lea eax, [0x5cd8b0]
mov dword [esp], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
call fcn.00401e60
mov eax, dword [esp + 0x58]
mov dword [esp + 0x78], eax
add esp, 0x70
ret
test ebx, ebx
je 0x42ea8d
mov dword [ebx + 0x30], 0
mov edx, dword [eax + 0x18]
mov dword [edx + 0x54], 0
mov edx, dword [eax + 0x18]
mov dword [edx + 0xbc], 0
mov edx, dword [0x5bd3bc]
mov ebx, dword [0x5bd3b8]
test edx, edx
jbe 0x42ec2f
mov eax, dword [ebx]
mov dword [eax + 0x30], 0
mov dword [eax + 8], 0
mov dword [esp], eax
call fcn.0042eca0
movzx eax, byte [0x5c5788]
test al, al
jne 0x42eae8
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x74]
jmp 0x42e999
call fcn.0043f1c0
jmp 0x42eadb
mov ebx, edx
jmp 0x42ea84
lea eax, [0x5cd868]
mov dword [esp], eax
call fcn.004078a0
mov eax, dword [0x5bd3c0]
mov ecx, dword [esp + 0x74]
cmp ecx, eax
ja 0x42ec36
mov dword [0x5bd3bc], ecx
lea eax, [0x5cd868]
mov dword [esp], eax
call fcn.00407a70
mov ecx, dword [esp + 0x74]
jmp 0x42e966
lea eax, [0x5cd868]
mov dword [esp], eax
call fcn.004078a0
mov eax, dword [0x5bd3c0]
mov ecx, dword [esp + 0x74]
cmp ecx, eax
jg 0x42eb6d
mov dword [0x5bd3bc], ecx
lea eax, [0x5cd868]
mov dword [esp], eax
call fcn.00407a70
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x74]
jmp 0x42e473
lea eax, [0x4d2f00]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00436280
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x64], edx
mov ebx, dword [0x5bd3c0]
mov ebp, dword [0x5bd3b8]
lea esi, [0x4d2f00]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
call fcn.0040e2c0
mov eax, dword [esp + 0x28]
mov dword [0x5bd3bc], eax
mov eax, dword [esp + 0x2c]
mov dword [0x5bd3c0], eax
mov eax, dword [0x5cd9c0]
test eax, eax
jne 0x42ebfa
mov eax, dword [esp + 0x64]
mov dword [0x5bd3b8], eax
jmp 0x42eb52
lea edi, [0x5bd3b8]
mov eax, dword [esp + 0x64]
call fcn.00449ce0
jmp 0x42eb52
mov edx, eax
mov esi, ecx
mov eax, dword [esp + 0x20]
jmp 0x42e455
mov dword [esp], ecx
call fcn.0043eaf0
jmp 0x42e3b6
call fcn.00424490
ud2
call fcn.00424490
ud2
call fcn.00424590
ud2
call fcn.00424490
ud2
call fcn.00424490
ud2
lea eax, [0x4f8239]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.004258a0
ud2
call fcn.00424490
ud2
call fcn.00424490
ud2
call fcn.00424490
ud2
lea eax, [0x4fa8c4]
mov dword [esp], eax
mov dword [esp + 4], 0x17
call fcn.004258a0
ud2
call fcn.00448580
jmp fcn.0042e370