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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xf8
mov esi, esp
mov dword [esi + 0xe8], edx
mov dword [esi + 0xec], ecx
jmp 0x42c19f
push eax
mov dword [esi + 0x1c], esp
push eax
mov edx, esp
push eax
mov dword [esi + 0x58], esp
push eax
mov dword [esi + 0x4c], esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x20], eax
mov esp, eax
push eax
mov dword [esi + 0x44], esp
push eax
mov dword [esi + 0x40], esp
push eax
mov dword [esi + 0x3c], esp
push eax
mov dword [esi + 0x38], esp
push eax
mov dword [esi + 0x34], esp
sub esp, 8
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
push eax
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0x24], esp
push eax
mov dword [esi + 0x5c], esp
push eax
mov dword [esi + 0x14], esp
push eax
mov dword [esi + 0x54], esp
push eax
mov dword [esi + 0x10], esp
push eax
mov dword [esi + 0x50], esp
push eax
mov dword [esi + 4], esp
push eax
mov ebx, esp
push eax
mov dword [esi + 0x60], esp
push eax
mov dword [esi + 0x64], esp
sub esp, 0x30
mov dword [esi + 0x48], esp
push eax
mov dword [esi + 0x18], esp
mov eax, edx
mov dword [esi + 0xc], eax
mov edx, dword [ebp + 0x50]
mov dword [eax], edx
mov edx, dword [ebp + 0x4c]
mov eax, dword [esi + 0x58]
mov dword [eax], edx
mov edx, dword [ebp + 0x48]
mov eax, dword [esi + 0x4c]
mov dword [eax], edx
mov edx, dword [ebp + 0x44]
mov eax, dword [esi + 0x20]
mov dword [eax + 4], edx
mov edx, dword [ebp + 0x40]
mov dword [eax], edx
mov dx, word [ebp + 0x3c]
mov eax, dword [esi + 0x44]
mov word [eax], dx
mov dx, word [ebp + 0x38]
mov eax, dword [esi + 0x40]
mov word [eax], dx
mov dx, word [ebp + 0x34]
mov eax, dword [esi + 0x3c]
mov word [eax], dx
mov dx, word [ebp + 0x30]
mov eax, dword [esi + 0x38]
mov word [eax], dx
mov edx, dword [ebp + 0x2c]
mov eax, dword [esi + 0x34]
mov dword [eax], edx
mov edx, dword [ebp + 0x28]
mov dword [ecx + 4], edx
mov dword [esi + 0xe4], ecx
mov edx, dword [ebp + 0x24]
mov dword [ecx], edx
mov ecx, dword [ebp + 0x20]
mov dword [edi + 4], ecx
mov dword [esi + 0xe0], edi
mov ecx, dword [ebp + 0x1c]
mov dword [edi], ecx
mov ax, word [ebp + 0x18]
mov ecx, dword [esi + 0x24]
mov word [ecx], ax
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi + 0x5c]
mov dword [ecx], eax
mov ax, word [ebp + 0x10]
mov ecx, dword [esi + 0x14]
mov word [ecx], ax
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0x54]
mov dword [ecx], eax
mov ax, word [ebp + 8]
mov ecx, dword [esi + 0x10]
mov word [ecx], ax
mov eax, dword [esi + 0xe8]
mov ecx, dword [esi + 0x50]
mov dword [ecx], eax
mov eax, dword [esi + 0xec]
mov edx, dword [esi + 4]
mov dword [edx], eax
mov ecx, dword [edx]
mov ecx, dword [ecx + 0x48]
mov dword [ebx], ecx
mov ecx, dword [ebx]
mov ecx, dword [ecx + 4]
mov eax, dword [esi + 0x60]
mov dword [eax], ecx
mov dword [esi + 8], ebx
mov ecx, dword [ebx]
mov ecx, dword [ecx + 4]
mov eax, dword [esi + 0x64]
mov dword [eax], ecx
mov ecx, dword [edx]
mov ecx, dword [ecx + 0x48]
cmp dword [ecx + 0x34], 0
setne cl
test cl, 1
mov eax, dword [esi + 0x24]
mov edx, dword [esi + 0xc]
jne 0x42c340
jmp 0x42c308
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x42c33e
jmp 0x42c314
jmp 0x42c316
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0
mov ecx, dword [esi + 0x1c]
je 0x42c32a
mov dword [eax + 0x1c], 3
mov dword [ecx], 0
mov eax, dword [esi + 0x18]
mov dword [eax], 1
jmp 0x42c9dd
jmp 0x42c340
mov ecx, dword [esi + 8]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 4]
mov edi, dword [esi + 0x10]
movzx edi, word [edi]
xor ebx, ebx
add ecx, edi
setb bl
mov edi, dword [esi + 0x14]
movzx edi, word [edi]
add ecx, edi
adc ebx, 0
mov edi, dword [edx]
add ecx, edi
adc ebx, 0
movzx edi, word [eax]
add ecx, edi
adc ebx, 0
add ecx, 0x2e
adc ebx, 0
sub ecx, 0xffffffff
sbb ebx, 0
jb 0x42c3a7
jmp 0x42c37f
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0
je 0x42c390
mov dword [eax + 0x1c], 0xf
mov ecx, dword [esi + 0x1c]
mov dword [ecx], 0
mov eax, dword [esi + 0x18]
mov dword [eax], 1
jmp 0x42c9dd
mov ecx, dword [esi + 0x4c]
mov ebx, dword [ecx]
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx]
mov dword [esi + 0x90], edx
mov ecx, dword [ecx + 4]
mov edi, dword [esi + 0x44]
mov dx, word [edi]
mov word [esi + 0x2a], dx
mov edi, dword [esi + 0x40]
mov dx, word [edi]
mov word [esi + 0x2c], dx
mov edi, dword [esi + 0x3c]
mov dx, word [edi]
mov word [esi + 0x2e], dx
mov edi, dword [esi + 0x38]
mov dx, word [edi]
mov word [esi + 0x32], dx
mov edi, dword [esi + 0x34]
mov edx, dword [edi]
mov dword [esi + 0xa4], edx
mov edi, dword [esi + 0xe4]
mov edx, dword [edi]
mov dword [esi + 0xa8], edx
mov edx, dword [edi + 4]
mov dword [esi + 0x9c], edx
mov edi, dword [esi + 0xe0]
mov edx, dword [edi]
mov dword [esi + 0xac], edx
mov edx, dword [edi + 4]
mov dword [esi + 0xa0], edx
mov di, word [eax]
mov eax, dword [esi + 0x14]
movzx eax, word [eax]
mov edx, dword [esi + 0xc]
add eax, dword [edx]
mov edx, dword [esi + 0x10]
mov dx, word [edx]
mov word [esi + 0x30], dx
mov edx, dword [esi + 4]
mov edx, dword [edx]
sub esp, 0x3c
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ecx
mov ecx, dword [esi + 0x90]
mov dword [esp + 0x30], ecx
movzx ecx, word [esi + 0x2a]
mov dword [esp + 0x2c], ecx
movzx ecx, word [esi + 0x2c]
mov dword [esp + 0x28], ecx
movzx ecx, word [esi + 0x2e]
mov dword [esp + 0x24], ecx
movzx ecx, word [esi + 0x32]
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0xa4]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x9c]
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 0xa8]
mov dword [esp + 0x14], ecx
mov ecx, dword [esi + 0xa0]
mov dword [esp + 0x10], ecx
mov ecx, dword [esi + 0xac]
mov dword [esp + 0xc], ecx
movzx ecx, di
mov dword [esp + 8], ecx
movzx eax, ax
mov dword [esp + 4], eax
movzx eax, word [esi + 0x30]
mov dword [esp], eax
mov ecx, edx
mov edx, dword [esi + 0x48]
call fcn.00444440
add esp, 0x3c
jmp 0x42c4c3
mov eax, dword [esi + 8]
mov ebx, dword [eax]
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov eax, ebx
add eax, 4
mov edi, dword [ebx + 4]
mov dword [esi + 0x98], edi
add edi, 0x2e
cmp dword [ebx + 8], edi
jae 0x42c50e
sub esp, 8
mov edx, ebx
mov dword [esp], edi
mov dword [esp + 4], 1
mov dword [esi + 0x8c], eax
call fcn.00444300
add esp, 8
xor ecx, ecx
cmp eax, 0
mov eax, dword [esi + 0x8c]
je 0x42c55b
mov dword [eax], edi
mov ecx, dword [ebx]
mov eax, dword [ebx + 0xc]
mov edx, eax
imul edx, dword [esi + 0x98]
add ecx, edx
mov edi, eax
xor edi, 0xffffffff
and edi, 0x2e
mov edx, eax
and edx, 0xffffffd1
imul edx, edi
mov edi, eax
and edi, 0x2e
or eax, 0x2e
imul eax, edi
add eax, edx
sub esp, 0xc
mov dword [esp], ecx
mov ecx, dword [esi + 0x48]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044fc60
add esp, 0xc
mov ecx, 1
cmp ecx, 0
setne al
test al, 1
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
jne 0x42c570
jmp 0x42c96c
movzx ebx, word [eax]
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov dword [esi + 0xdc], eax
mov eax, dword [esi + 8]
mov edi, dword [eax]
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov eax, ebx
mov ebx, edi
add ebx, 4
mov dword [esi + 0x88], ebx
mov ebx, dword [edi + 4]
mov dword [esi + 0xbc], ebx
add ebx, eax
cmp dword [edi + 8], ebx
jae 0x42c5d3
sub esp, 8
mov edx, edi
mov dword [esp], ebx
mov dword [esp + 4], 1
mov dword [esi + 0xcc], eax
call fcn.00444300
mov edx, dword [esi + 0xc]
add esp, 8
xor ecx, ecx
cmp eax, 0
mov eax, dword [esi + 0xcc]
je 0x42c63f
mov ecx, dword [esi + 0x88]
mov dword [ecx], ebx
mov ecx, 1
cmp eax, 0
je 0x42c63f
mov ebx, dword [edi]
mov ecx, eax
mov eax, dword [edi + 0xc]
mov edx, eax
imul edx, dword [esi + 0xbc]
add ebx, edx
mov dword [esi + 0x74], ebx
mov edi, eax
xor edi, 0xffffffff
and edi, ecx
mov ebx, ecx
xor ebx, 0xffffffff
mov edx, eax
and edx, ebx
imul edx, edi
mov edi, eax
and edi, ecx
or eax, ecx
imul eax, edi
add eax, edx
sub esp, 0xc
mov ecx, dword [esi + 0x74]
mov dword [esp], ecx
mov ecx, dword [esi + 0xdc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044fc60
mov edx, dword [esi + 0xc]
add esp, 0xc
mov ecx, 1
cmp ecx, 0
je 0x42c96c
jmp 0x42c64a
mov eax, dword [esi + 0x14]
movzx ebx, word [eax]
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 8]
mov edi, dword [eax]
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov eax, ebx
mov ebx, edi
add ebx, 4
mov dword [esi + 0x84], ebx
mov ebx, dword [edi + 4]
mov dword [esi + 0xb8], ebx
add ebx, eax
cmp dword [edi + 8], ebx
jae 0x42c6b0
sub esp, 8
mov edx, edi
mov dword [esp], ebx
mov dword [esp + 4], 1
mov dword [esi + 0xc8], eax
call fcn.00444300
mov edx, dword [esi + 0xc]
add esp, 8
xor ecx, ecx
cmp eax, 0
mov eax, dword [esi + 0xc8]
je 0x42c71c
mov ecx, dword [esi + 0x84]
mov dword [ecx], ebx
mov ecx, 1
cmp eax, 0
je 0x42c71c
mov ebx, dword [edi]
mov ecx, eax
mov eax, dword [edi + 0xc]
mov edx, eax
imul edx, dword [esi + 0xb8]
add ebx, edx
mov dword [esi + 0x70], ebx
mov edi, eax
xor edi, 0xffffffff
and edi, ecx
mov ebx, ecx
xor ebx, 0xffffffff
mov edx, eax
and edx, ebx
imul edx, edi
mov edi, eax
and edi, ecx
or eax, ecx
imul eax, edi
add eax, edx
sub esp, 0xc
mov ecx, dword [esi + 0x70]
mov dword [esp], ecx
mov ecx, dword [esi + 0xd8]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044fc60
mov edx, dword [esi + 0xc]
add esp, 0xc
mov ecx, 1
cmp ecx, 0
setne al
test al, 1
jne 0x42c72b
jmp 0x42c96c
mov edx, dword [edx]
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov dword [esi + 0xd4], eax
mov eax, dword [esi + 8]
mov edi, dword [eax]
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov eax, edi
add eax, 4
mov ebx, dword [edi + 4]
mov dword [esi + 0xb4], ebx
add ebx, edx
cmp dword [edi + 8], ebx
jae 0x42c78e
sub esp, 8
mov dword [esi + 0xc4], edx
mov edx, edi
mov dword [esp], ebx
mov dword [esp + 4], 1
mov dword [esi + 0x80], eax
call fcn.00444300
mov edx, dword [esi + 0xc4]
add esp, 8
xor ecx, ecx
cmp eax, 0
mov eax, dword [esi + 0x80]
je 0x42c7f1
mov dword [eax], ebx
mov ecx, 1
cmp edx, 0
je 0x42c7f1
mov ebx, dword [edi]
mov eax, dword [edi + 0xc]
mov ecx, edx
mov edx, eax
imul edx, dword [esi + 0xb4]
add ebx, edx
mov dword [esi + 0x6c], ebx
mov edi, eax
xor edi, 0xffffffff
and edi, ecx
mov ebx, ecx
xor ebx, 0xffffffff
mov edx, eax
and edx, ebx
imul edx, edi
mov edi, eax
and edi, ecx
or eax, ecx
imul eax, edi
add eax, edx
sub esp, 0xc
mov ecx, dword [esi + 0x6c]
mov dword [esp], ecx
mov ecx, dword [esi + 0xd4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044fc60
add esp, 0xc
mov ecx, 1
cmp ecx, 0
je 0x42c96c
mov eax, dword [esi + 0x24]
movzx edx, word [eax]
mov eax, dword [esi + 0x5c]
mov eax, dword [eax]
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 8]
mov edi, dword [eax]
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov eax, edi
add eax, 4
mov ebx, dword [edi + 4]
mov dword [esi + 0xb0], ebx
add ebx, edx
cmp dword [edi + 8], ebx
jae 0x42c85b
sub esp, 8
mov dword [esi + 0xc0], edx
mov edx, edi
mov dword [esp], ebx
mov dword [esp + 4], 1
mov dword [esi + 0x7c], eax
call fcn.00444300
mov edx, dword [esi + 0xc0]
add esp, 8
xor ecx, ecx
cmp eax, 0
mov eax, dword [esi + 0x7c]
je 0x42c8be
mov dword [eax], ebx
mov ecx, 1
cmp edx, 0
je 0x42c8be
mov ebx, dword [edi]
mov eax, dword [edi + 0xc]
mov ecx, edx
mov edx, eax
imul edx, dword [esi + 0xb0]
add ebx, edx
mov dword [esi + 0x68], ebx
mov edi, eax
xor edi, 0xffffffff
and edi, ecx
mov ebx, ecx
xor ebx, 0xffffffff
mov edx, eax
and edx, ebx
imul edx, edi
mov edi, eax
and edi, ecx
or eax, ecx
imul eax, edi
add eax, edx
sub esp, 0xc
mov ecx, dword [esi + 0x68]
mov dword [esp], ecx
mov ecx, dword [esi + 0xd0]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044fc60
add esp, 0xc
mov ecx, 1
cmp ecx, 0
je 0x42c96c
jmp 0x42c8c9
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov edi, eax
add edi, 0x10
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
mov edx, edi
add edx, 4
mov ebx, dword [eax + 0x14]
mov dword [esi + 0x94], ebx
add ebx, 1
cmp dword [eax + 0x18], ebx
jae 0x42c913
sub esp, 8
mov dword [esi + 0x78], edx
mov edx, edi
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.00444300
mov edx, dword [esi + 0x78]
add esp, 8
xor ecx, ecx
cmp eax, 0
je 0x42c960
mov dword [edx], ebx
mov ecx, dword [edi]
mov eax, dword [edi + 0xc]
mov edx, eax
imul edx, dword [esi + 0x94]
add ecx, edx
mov edi, eax
xor edi, 0xffffffff
and edi, 1
mov edx, eax
and edx, 0xfffffffe
imul edx, edi
mov edi, eax
and edi, 1
or eax, 1
imul eax, edi
add eax, edx
sub esp, 0xc
mov dword [esp], ecx
mov ecx, dword [esi + 0x60]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044fc60
add esp, 0xc
mov ecx, 1
cmp ecx, 0
setne al
test al, 1
jne 0x42c9c7
jmp 0x42c96c
mov eax, dword [esi + 0x64]
mov ebx, dword [eax]
mov eax, dword [esi + 8]
mov edi, dword [eax]
mov eax, dword [esi + 4]
mov ecx, dword [eax]
cmp dword [edi + 8], ebx
jae 0x42c99f
xor eax, eax
sub esp, 8
mov edx, edi
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.00444300
add esp, 8
cmp eax, 0
je 0x42c9a2
mov dword [edi + 4], ebx
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0
je 0x42c9b3
mov dword [eax + 0x1c], 0x10
mov ecx, dword [esi + 0x1c]
mov dword [ecx], 0
mov eax, dword [esi + 0x18]
mov dword [eax], 1
jmp 0x42c9dd
jmp 0x42c9c9
mov ecx, dword [esi + 0x1c]
mov dword [ecx], 1
mov eax, dword [esi + 0x18]
mov dword [eax], 1
jmp 0x42c9dd
mov eax, dword [ecx]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret