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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xe0
mov esi, esp
mov dword [esi + 0xc0], edx
mov dword [esi + 0xc4], ecx
jmp 0x429f5f
push eax
mov dword [esi + 0xc], esp
push eax
mov dword [esi + 0xbc], esp
push eax
mov edx, esp
push eax
mov dword [esi + 0x20], esp
push eax
mov dword [esi + 0x4c], esp
push eax
mov dword [esi + 0x28], esp
push eax
mov dword [esi + 0x34], esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
push eax
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
mov dword [esi + 0x10], esp
push eax
sub esp, 0xffc
mov dword [esi + 0xb8], esp
push eax
mov dword [esi + 0x48], esp
push eax
mov dword [esi + 0x58], esp
sub esp, 0x14
mov dword [esi + 0xb4], esp
push eax
mov dword [esi + 0x2c], esp
sub esp, 0x38
mov dword [esi + 0xb0], esp
push eax
mov dword [esi + 0x30], esp
sub esp, 8
mov edi, esp
and edi, 0xfffffff8
mov dword [esi + 0x68], edi
mov esp, edi
push eax
mov dword [esi + 4], esp
push eax
mov dword [esi + 0x6c], esp
sub esp, 8
mov edi, esp
and edi, 0xfffffff8
mov dword [esi + 0x70], edi
mov esp, edi
push eax
push eax
mov edi, esp
and edi, 0xfffffff8
mov dword [esi + 0x5c], edi
mov esp, edi
push eax
push eax
mov edi, esp
and edi, 0xfffffff8
mov dword [esi + 0xcc], edi
mov esp, edi
push eax
push eax
mov edi, esp
and edi, 0xfffffff8
mov dword [esi + 0xd0], edi
mov esp, edi
push eax
mov dword [esi + 0x40], esp
push eax
mov dword [esi + 0x3c], esp
push eax
mov dword [esi + 0x7c], esp
push eax
mov dword [esi + 0x64], esp
push eax
mov dword [esi + 0xd4], esp
push eax
mov dword [esi + 0x54], esp
push eax
mov dword [esi + 0x24], esp
sub esp, 8
mov ebx, esp
and ebx, 0xfffffff8
mov dword [esi + 0x14], ebx
mov esp, ebx
push eax
push eax
mov edi, esp
and edi, 0xfffffff8
mov dword [esi + 0x1c], edi
mov esp, edi
push eax
push eax
mov edi, esp
and edi, 0xfffffff8
mov dword [esi + 0x60], edi
mov esp, edi
mov edi, ecx
push eax
mov dword [esi + 0x38], esp
push eax
mov dword [esi + 0x50], esp
push eax
mov dword [esi + 0x18], esp
push eax
mov dword [esi + 0x78], esp
push eax
mov dword [esi + 0x74], esp
mov ecx, dword [esi + 0xc0]
mov ebx, dword [esi + 0xbc]
mov dword [ebx], ecx
mov ecx, dword [esi + 0xc4]
mov dword [edx], ecx
mov ecx, dword [esi + 0x20]
mov dword [ecx], 0
mov ecx, dword [esi + 0x4c]
mov dword [ecx], 0
mov ecx, dword [esi + 0x28]
mov dword [ecx], 0
mov ecx, dword [esi + 0x34]
mov dword [ecx], 0
mov dword [eax + 4], 0
mov dword [esi + 0x44], eax
mov dword [eax], 0
mov dword [edi + 4], 0
mov dword [edi], 0
mov eax, dword [esi + 0xb8]
mov ecx, dword [esi + 0x48]
mov dword [ecx], eax
mov ecx, dword [ebx]
mov eax, ecx
xor eax, 0xfffff7ff
and eax, ecx
xor ecx, ecx
test eax, eax
sete cl
mov eax, dword [esi + 0x58]
mov dword [eax], ecx
mov eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0x2c]
mov dword [ecx], eax
mov eax, dword [esi + 0xb0]
mov ecx, dword [esi + 0x30]
mov dword [ecx], eax
mov eax, dword [esi + 0x68]
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [edx]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub ecx, 0x16
sbb eax, 0
setb al
test al, 1
jne 0x42a11e
jmp 0x42a143
mov eax, dword [edx]
cmp eax, 0
je 0x42a12c
mov dword [eax + 0x1c], 8
mov edi, dword [esi + 0xc]
mov dword [edi], 0
mov eax, dword [esi + 4]
mov dword [eax], 1
jmp 0x42b07a
jmp 0x42a145
mov dword [esi + 8], edx
mov ecx, dword [edx]
mov edx, edi
call fcn.00444fe0
cmp eax, 0
setne al
test al, 1
jne 0x42a185
jmp 0x42a15d
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x42a16e
mov dword [eax + 0x1c], 7
mov edi, dword [esi + 0xc]
mov dword [edi], 0
mov eax, dword [esi + 4]
mov dword [eax], 1
jmp 0x42b07a
mov ebx, dword [esi + 8]
mov eax, dword [ebx]
mov eax, dword [eax + 0x38]
mov dword [esi + 0x90], eax
mov eax, edi
mov edi, dword [esi + 0x48]
mov ecx, dword [edi]
mov edx, dword [eax]
mov dword [esi + 0x84], edx
mov dword [esi + 0xc8], eax
mov eax, dword [eax + 4]
mov edx, dword [ebx]
mov edx, dword [edx + 0x44]
sub esp, 0x14
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, dword [esi + 0x84]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 0x10], 0x16
call dword [esi + 0x90]
add esp, 0x14
cmp eax, 0x16
je 0x42a203
mov eax, dword [ebx]
cmp eax, 0
je 0x42a1ec
mov dword [eax + 0x1c], 0x14
mov edi, dword [esi + 0xc]
mov dword [edi], 0
mov eax, dword [esi + 4]
mov dword [eax], 1
jmp 0x42b07a
mov eax, dword [edi]
cmp dword [eax], 0x6054b50
je 0x42a237
mov edi, dword [esi + 0xc]
mov ecx, dword [esi + 4]
jmp 0x42a215
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x42a226
mov dword [eax + 0x1c], 8
mov dword [edi], 0
mov dword [ecx], 1
jmp 0x42b07a
jmp 0x42a239
mov edi, dword [esi + 0xc8]
mov eax, dword [edi]
mov ebx, dword [edi + 4]
xor edx, edx
mov ecx, 0x4b
sub ecx, eax
sbb edx, ebx
setl al
test al, 1
mov edx, dword [esi + 8]
mov ebx, dword [esi + 0x48]
jne 0x42a261
jmp 0x42a39a
mov eax, dword [edx]
mov eax, dword [eax + 0x38]
mov dword [esi + 0xa0], eax
mov eax, edx
mov ecx, dword [esi + 0x2c]
mov edx, dword [ecx]
mov ecx, dword [edi]
mov edi, dword [edi + 4]
add ecx, 0xffffffec
adc edi, 0xffffffff
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
sub esp, 0x14
mov dword [esp + 0xc], edx
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0x10], 0x14
call dword [esi + 0xa0]
add esp, 0x14
cmp eax, 0x14
jne 0x42a391
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
cmp dword [eax], 0x7064b50
jne 0x42a38b
mov edx, dword [esi + 8]
jmp 0x42a2c5
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ebx, dword [esi + 0x68]
mov dword [ebx + 4], eax
mov dword [ebx], ecx
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov edx, dword [edx]
mov edi, dword [edx]
mov edx, dword [edx + 4]
add edi, 0xffffffc8
adc edx, 0xffffffff
sub edi, ecx
sbb edx, eax
setb al
test al, 1
jne 0x42a2f7
jmp 0x42a31f
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
mov edi, dword [esi + 0xc]
je 0x42a30b
mov dword [eax + 0x1c], 8
mov dword [edi], 0
mov eax, dword [esi + 4]
mov dword [eax], 1
jmp 0x42b07a
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov edx, dword [ebx]
mov edi, dword [ebx + 4]
mov ebx, dword [ecx]
mov ebx, dword [ebx + 0x44]
sub esp, 0x14
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], ebx
mov ebx, dword [esi + 0x48]
mov dword [esp + 0x10], 0x38
call dword [esi + 0x8c]
add esp, 0x14
cmp eax, 0x38
jne 0x42a389
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp dword [eax], 0x6064b50
jne 0x42a387
jmp 0x42a376
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x48]
mov dword [eax + 0x34], 1
jmp 0x42a387
jmp 0x42a389
jmp 0x42a38b
jmp 0x42a38d
jmp 0x42a38f
jmp 0x42a391
jmp 0x42a393
mov edx, dword [esi + 8]
jmp 0x42a398
jmp 0x42a39a
jmp 0x42a39c
mov eax, dword [ebx]
movzx eax, word [eax + 0xa]
mov ecx, dword [edx]
mov dword [ecx + 0x10], eax
mov eax, dword [ebx]
movzx eax, word [eax + 8]
mov ecx, dword [esi + 0x4c]
mov dword [ecx], eax
mov eax, dword [ebx]
movzx eax, word [eax + 4]
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
mov eax, dword [ebx]
movzx eax, word [eax + 6]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
mov ecx, dword [esi + 0x44]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov eax, dword [edx]
mov eax, dword [eax + 0x48]
cmp dword [eax + 0x34], 0
setne al
mov edi, dword [esi + 0xc]
mov ebx, dword [esi + 4]
test al, 1
jne 0x42a3fe
jmp 0x42a594
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov ecx, dword [esi + 0x6c]
mov dword [ecx], eax
mov ebx, dword [esi + 0x30]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov edx, dword [esi + 0x70]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov eax, dword [ebx]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov edx, dword [esi + 0x5c]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov edx, dword [esi + 0xcc]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov eax, dword [ebx]
mov ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov ebx, dword [esi + 0xd0]
mov dword [ebx + 4], eax
mov dword [ebx], ecx
mov eax, dword [edx]
mov ecx, dword [edx + 4]
sub eax, 0x2c
sbb ecx, 0
setb al
test al, 1
mov edx, dword [esi + 8]
jne 0x42a46b
jmp 0x42a48f
mov ebx, dword [esi + 4]
jmp 0x42a470
mov eax, dword [edx]
cmp eax, 0
je 0x42a47e
mov dword [eax + 0x1c], 9
mov dword [edi], 0
mov dword [ebx], 1
jmp 0x42a589
mov eax, dword [esi + 0x6c]
cmp dword [eax], 1
je 0x42a4b9
mov eax, dword [edx]
cmp eax, 0
je 0x42a4a5
mov dword [eax + 0x1c], 0xa
mov dword [edi], 0
mov ebx, dword [esi + 4]
mov dword [ebx], 1
jmp 0x42a589
mov ecx, dword [esi + 0x70]
mov eax, dword [ecx + 4]
test eax, eax
je 0x42a4e7
jmp 0x42a4c5
mov eax, dword [edx]
cmp eax, 0
je 0x42a4d3
mov dword [eax + 0x1c], 2
mov dword [edi], 0
mov ebx, dword [esi + 4]
mov dword [ebx], 1
jmp 0x42a589
mov eax, dword [ecx]
mov ecx, dword [edx]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x5c]
mov eax, dword [eax + 4]
test eax, eax
je 0x42a519
jmp 0x42a4fa
mov eax, dword [edx]
cmp eax, 0
je 0x42a508
mov dword [eax + 0x1c], 2
mov dword [edi], 0
mov ebx, dword [esi + 4]
mov dword [ebx], 1
jmp 0x42a589
jmp 0x42a51b
mov eax, dword [esi + 0x5c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x4c]
mov dword [ecx], eax
mov eax, dword [ebx + 4]
test eax, eax
setne al
test al, 1
jne 0x42a533
jmp 0x42a552
mov eax, dword [edx]
cmp eax, 0
je 0x42a541
mov dword [eax + 0x1c], 0xf
mov dword [edi], 0
mov ebx, dword [esi + 4]
mov dword [ebx], 1
jmp 0x42a589
mov eax, dword [ebx]
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov ebx, dword [esi + 0x30]
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x14]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [ebx]
mov ebx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov ecx, dword [esi + 0x44]
mov dword [ecx + 4], eax
mov dword [ecx], ebx
mov ebx, dword [esi + 4]
mov dword [ebx], 0
cmp dword [ebx], 0
jne 0x42b07a
jmp 0x42a594
mov eax, dword [edx]
mov eax, dword [eax + 0x10]
mov ecx, dword [esi + 0x4c]
cmp eax, dword [ecx]
je 0x42a5c1
jmp 0x42a5a2
mov eax, dword [edx]
cmp eax, 0
je 0x42a5b0
mov dword [eax + 0x1c], 0xa
mov dword [edi], 0
mov dword [ebx], 1
jmp 0x42b07a
jmp 0x42a5c3
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov ecx, dword [esi + 0x34]
or eax, dword [ecx]
cmp eax, 0
setne al
test al, 1
jne 0x42a5d9
jmp 0x42a61a
jmp 0x42a5db
mov eax, dword [esi + 0x28]
cmp dword [eax], 1
setne al
test al, 1
jne 0x42a5fb
jmp 0x42a5ea
jmp 0x42a5ec
mov eax, dword [esi + 0x34]
cmp dword [eax], 1
setne al
test al, 1
jne 0x42a5fb
jmp 0x42a61a
mov eax, dword [edx]
cmp eax, 0
je 0x42a609
mov dword [eax + 0x1c], 0xa
mov dword [edi], 0
mov dword [ebx], 1
jmp 0x42b07a
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov dword [esi + 0xac], eax
mov ecx, dword [edx]
mov ecx, dword [ecx + 0x10]
mov edi, ecx
xor edi, 0xffffffff
and edi, 0xffffffff
or edi, 0
xor edi, 0xffffffff
or edi, 0xffffffd1
xor edi, 0xffffffff
and edi, 0xffffffff
mov eax, ecx
and eax, 0xffffffd1
imul eax, edi
mov dword [esi + 0xa8], eax
mov edi, ecx
and edi, 0x2e
or ecx, 0x2e
mov ebx, ecx
xor ebx, 0xffffffff
mov edx, edi
and edx, ebx
mov eax, edi
xor eax, 0xffffffff
mov ebx, ecx
and ebx, eax
imul ebx, edx
mov eax, ecx
and eax, edi
or ecx, edi
imul ecx, eax
add ecx, ebx
xor eax, eax
sub eax, dword [esi + 0xa8]
sub ecx, eax
cmp dword [esi + 0xac], ecx
jae 0x42a6b7
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
mov ecx, dword [esi + 4]
je 0x42a6a3
mov dword [eax + 0x1c], 9
mov edi, dword [esi + 0xc]
mov dword [edi], 0
mov dword [ecx], 1
jmp 0x42b07a
mov ebx, dword [esi + 0x44]
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov edx, dword [esi + 0x20]
mov edx, dword [edx]
add ecx, edx
adc eax, 0
mov edx, dword [esi + 8]
mov edx, dword [edx]
mov edi, dword [edx]
mov edx, dword [edx + 4]
sub edi, ecx
sbb edx, eax
mov ecx, dword [esi + 4]
jae 0x42a703
jmp 0x42a6de
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
mov edi, dword [esi + 0xc]
je 0x42a6f2
mov dword [eax + 0x1c], 9
mov dword [edi], 0
mov dword [ecx], 1
jmp 0x42b07a
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov ebx, dword [esi + 8]
mov edx, dword [ebx]
mov dword [edx + 0xc], ecx
mov dword [edx + 8], eax
mov eax, dword [ebx]
cmp dword [eax + 0x10], 0
mov edi, dword [esi + 0xc]
mov edx, ebx
je 0x42b055
mov eax, dword [esi + 0x20]
mov ebx, dword [eax]
mov eax, dword [edx]
mov edi, dword [eax + 0x48]
mov ecx, dword [edx]
cmp dword [edi + 8], ebx
jae 0x42a759
xor eax, eax
sub esp, 8
mov edx, edi
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.00445ad0
mov edx, dword [esi + 8]
add esp, 8
xor ecx, ecx
cmp eax, 0
je 0x42a761
mov dword [edi + 4], ebx
mov ecx, 1
cmp ecx, 0
je 0x42a7ad
mov eax, dword [edx]
mov ebx, dword [eax + 0x10]
mov eax, dword [edx]
mov eax, dword [eax + 0x48]
mov edi, eax
add edi, 0x10
mov ecx, dword [edx]
cmp dword [eax + 0x18], ebx
jae 0x42a7a0
xor eax, eax
sub esp, 8
mov edx, edi
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.00445ad0
mov edx, dword [esi + 8]
add esp, 8
xor ecx, ecx
cmp eax, 0
je 0x42a7a8
mov dword [edi + 4], ebx
mov ecx, 1
cmp ecx, 0
jne 0x42a7d4
jmp 0x42a7af
mov eax, dword [edx]
cmp eax, 0
mov edi, dword [esi + 0xc]
mov ecx, dword [esi + 4]
je 0x42a7c3
mov dword [eax + 0x1c], 0x10
mov dword [edi], 0
mov dword [ecx], 1
jmp 0x42b04c
mov eax, dword [esi + 0x58]
cmp dword [eax], 0
je 0x42a851
mov eax, dword [edx]
mov ebx, dword [eax + 0x10]
mov eax, dword [edx]
mov eax, dword [eax + 0x48]
mov edi, eax
add edi, 0x20
mov ecx, dword [edx]
cmp dword [eax + 0x28], ebx
jae 0x42a816
xor eax, eax
sub esp, 8
mov edx, edi
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.00445ad0
mov edx, dword [esi + 8]
add esp, 8
xor ecx, ecx
cmp eax, 0
je 0x42a81e
mov dword [edi + 4], ebx
mov ecx, 1
cmp ecx, 0
jne 0x42a848
mov eax, dword [edx]
cmp eax, 0
je 0x42a831
mov dword [eax + 0x1c], 0x10
mov edi, dword [esi + 0xc]
mov dword [edi], 0
mov ecx, dword [esi + 4]
mov dword [ecx], 1
jmp 0x42b04c
jmp 0x42a84a
jmp 0x42a84c
mov edx, dword [esi + 8]
jmp 0x42a851
mov ecx, dword [edx]
mov eax, dword [ecx + 0x38]
mov dword [esi + 0x94], eax
mov ecx, dword [ecx + 0x48]
mov edi, dword [esi + 0x20]
mov eax, dword [edi]
mov dword [esi + 0x80], eax
mov ecx, dword [ecx]
mov eax, dword [esi + 0x44]
mov ebx, dword [eax]
mov dword [esi + 0x88], ebx
mov ebx, dword [eax + 4]
mov eax, dword [edx]
mov eax, dword [eax + 0x44]
sub esp, 0x14
mov edx, dword [esi + 0x80]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov ecx, dword [esi + 0x88]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [esi + 0x94]
add esp, 0x14
cmp eax, dword [edi]
je 0x42a8d8
mov edi, dword [esi + 0xc]
mov ecx, dword [esi + 4]
jmp 0x42a8b6
mov edx, dword [esi + 8]
mov eax, dword [edx]
cmp eax, 0
je 0x42a8c7
mov dword [eax + 0x1c], 0x14
mov dword [edi], 0
mov dword [ecx], 1
jmp 0x42b04c
mov edx, dword [esi + 8]
mov eax, dword [edx]
mov eax, dword [eax + 0x48]
mov eax, dword [eax]
mov ecx, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, dword [edi]
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov eax, dword [esi + 0x40]
mov dword [eax], 0
mov eax, dword [eax]
mov ecx, dword [edx]
cmp eax, dword [ecx + 0x10]
jae 0x42b031
mov eax, dword [esi + 0x3c]
cmp dword [eax], 0x2e
jb 0x42a928
jmp 0x42a90e
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
cmp dword [eax], 0x2014b50
setne al
test al, 1
mov edx, dword [esi + 8]
mov ebx, dword [esi + 0x40]
jne 0x42a928
jmp 0x42a94f
jmp 0x42a92a
mov eax, dword [edx]
cmp eax, 0
je 0x42a938
mov dword [eax + 0x1c], 9
mov eax, dword [esi + 0xc]
mov dword [eax], 0
mov ecx, dword [esi + 4]
mov dword [ecx], 1
jmp 0x42afe0
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov ecx, dword [edx]
mov ecx, dword [ecx + 0x48]
mov ecx, dword [ecx]
mov edi, edx
mov edx, eax
xor edx, 0xffffffff
and edx, ecx
xor ecx, 0xffffffff
and eax, ecx
sub eax, edx
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x48]
mov ecx, dword [ecx + 0x10]
mov edx, dword [ebx]
mov dword [ecx + edx*4], eax
mov eax, dword [esi + 0x58]
cmp dword [eax], 0
je 0x42a999
jmp 0x42a982
mov edx, dword [esi + 0x40]
mov eax, dword [edx]
mov ecx, dword [esi + 8]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x48]
mov ecx, dword [ecx + 0x20]
mov edx, dword [edx]
mov dword [ecx + edx*4], eax
jmp 0x42a999
jmp 0x42a99b
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
mov edx, dword [esi + 0x14]
mov dword [edx], eax
mov dword [edx + 4], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
mov edx, dword [esi + 0x1c]
mov dword [edx], eax
mov dword [edx + 4], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x2a]
mov edx, dword [esi + 0x60]
mov dword [edx], eax
mov dword [edx + 4], 0
mov eax, dword [ecx]
movzx eax, word [eax + 0x1c]
mov edx, dword [esi + 0x54]
mov dword [edx], eax
mov eax, dword [ecx]
movzx eax, word [eax + 0x1e]
mov ecx, dword [esi + 0x24]
mov dword [ecx], eax
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x48]
cmp dword [eax + 0x38], 0
setne al
test al, 1
jne 0x42ad60
jmp 0x42aa00
jmp 0x42aa02
mov eax, dword [esi + 0x24]
cmp dword [eax], 0
setne al
test al, 1
jne 0x42aa14
jmp 0x42ad60
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edi, dword [esi + 0x1c]
mov edx, dword [edi]
mov edi, dword [edi + 4]
sub edx, eax
sbb edi, ecx
jae 0x42aa38
jmp 0x42aa2c
jmp 0x42aa2e
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x42aa42
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x42aa42
mov edi, dword [esi + 0x60]
mov edx, dword [edi]
mov edi, dword [edi + 4]
sub edx, eax
sbb edi, ecx
jae 0x42aa82
jmp 0x42aa52
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edi, dword [esi + 0x1c]
mov edx, dword [edi]
mov edi, dword [edi + 4]
sub edx, eax
sbb edi, ecx
jae 0x42aa76
jmp 0x42aa6a
jmp 0x42aa6c
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x42aa80
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x42aa80
jmp 0x42aa8c
mov ecx, dword [esi + 0x60]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x42aa8c
not eax
or eax, ecx
jne 0x42ad60
jmp 0x42aa98
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov ecx, dword [esi + 0x38]
mov dword [ecx], eax
cmp dword [ecx], 0
setne al
test al, 1
jne 0x42aab1
jmp 0x42ad40
mov eax, dword [esi + 0x18]
mov dword [eax], 0
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
add eax, 0x2e
mov ecx, dword [esi + 0x24]
mov ecx, dword [ecx]
mov edx, eax
and edx, ecx
shl edx, 1
xor eax, ecx
add eax, edx
mov ecx, dword [esi + 0x3c]
cmp eax, dword [ecx]
seta al
test al, 1
jne 0x42aae3
jmp 0x42abdf
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.004557d4
add esp, 4
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
cmp dword [ecx], 0
jne 0x42ab28
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x42ab11
mov dword [eax + 0x1c], 0x10
mov eax, dword [esi + 0xc]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov dword [eax], 1
jmp 0x42ad36
mov edx, dword [esi + 8]
mov eax, dword [edx]
mov eax, dword [eax + 0x38]
mov dword [esi + 0xa4], eax
mov edi, dword [esi + 0x24]
mov eax, dword [edi]
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x9c], eax
mov eax, dword [esi + 0x44]
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
add ecx, eax
adc ebx, 0
add ecx, 0x2e
adc ebx, 0
mov eax, dword [edx]
mov eax, dword [eax + 0x44]
sub esp, 0x14
mov edx, dword [esi + 0x98]
mov dword [esp + 0x10], edx
mov edx, dword [esi + 0x9c]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [esi + 0xa4]
add esp, 0x14
cmp eax, dword [edi]
je 0x42abd3
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.00455735
add esp, 4
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x42abbc
mov dword [eax + 0x1c], 0x14
mov eax, dword [esi + 0xc]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov dword [eax], 1
jmp 0x42ad36
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [esi + 0x50]
mov dword [ecx], eax
jmp 0x42abf1
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
add eax, 0x2e
mov ecx, dword [esi + 0x54]
add eax, dword [ecx]
mov ecx, dword [esi + 0x50]
mov dword [ecx], eax
jmp 0x42abf3
mov eax, dword [esi + 0x38]
cmp dword [eax], 4
jae 0x42ac36
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.00455735
add esp, 4
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x42ac1f
mov dword [eax + 0x1c], 9
mov eax, dword [esi + 0xc]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov dword [eax], 1
jmp 0x42acf6
mov ecx, dword [esi + 0x50]
mov eax, dword [ecx]
movzx eax, word [eax]
mov edx, dword [esi + 0x78]
mov dword [edx], eax
mov eax, dword [ecx]
movzx eax, word [eax + 2]
mov ecx, dword [esi + 0x74]
mov dword [ecx], eax
mov eax, dword [ecx]
add eax, 4
mov ecx, dword [esi + 0x38]
cmp eax, dword [ecx]
jbe 0x42ac92
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.00455735
add esp, 4
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x42ac7e
mov dword [eax + 0x1c], 9
mov eax, dword [esi + 0xc]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov dword [eax], 1
jmp 0x42acf6
mov eax, dword [esi + 0x78]
cmp dword [eax], 1
jne 0x42acc0
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
mov dword [eax + 0x34], 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
mov dword [eax + 0x38], 1
mov eax, dword [esi + 4]
mov dword [eax], 5
jmp 0x42acf6
jmp 0x42acc2
mov edx, dword [esi + 0x74]
mov eax, dword [edx]
add eax, 4
mov ecx, dword [esi + 0x50]
add eax, dword [ecx]
mov dword [ecx], eax
mov edi, dword [esi + 0x38]
mov eax, dword [edi]
sub eax, 4
mov ecx, dword [edx]
mov edx, eax
xor edx, 0xffffffff
and edx, ecx
xor ecx, 0xffffffff
and eax, ecx
sub eax, edx
mov dword [edi], eax
mov eax, dword [esi + 4]
mov dword [eax], 0
jmp 0x42acf6
mov eax, dword [esi + 4]
mov eax, dword [eax]
test eax, eax
je 0x42ad08
jmp 0x42ad01
sub eax, 5
je 0x42ad16
jmp 0x42ad34
jmp 0x42ad0a
mov eax, dword [esi + 0x38]
cmp dword [eax], 0
jne 0x42abf3
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.00455735
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0
jmp 0x42ad36
jmp 0x42ad36
mov eax, dword [esi + 4]
cmp dword [eax], 0
jne 0x42ad4d
jmp 0x42ad40
jmp 0x42ad42
mov eax, dword [esi + 4]
mov dword [eax], 0
jmp 0x42ad4d
mov eax, dword [esi + 4]
mov eax, dword [eax]
cmp eax, 0
mov ecx, dword [esi + 4]
jne 0x42afe0
jmp 0x42ad60
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
not eax
or eax, ecx
je 0x42adff
jmp 0x42ad74
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
not eax
or eax, ecx
je 0x42adff
jmp 0x42ad84
jmp 0x42ad86
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
cmp dword [eax + 0xa], 0
setne al
test al, 1
jne 0x42adb2
jmp 0x42ad98
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edi, dword [esi + 0x14]
mov edx, dword [edi]
mov edi, dword [edi + 4]
xor ecx, edi
xor eax, edx
or eax, ecx
jne 0x42add5
jmp 0x42adb2
jmp 0x42adb4
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
or eax, ecx
setne al
test al, 1
jne 0x42adc7
jmp 0x42adfd
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
or eax, ecx
jne 0x42adfd
jmp 0x42add5
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x42ade6
mov dword [eax + 0x1c], 9
mov eax, dword [esi + 0xc]
mov dword [eax], 0
mov ecx, dword [esi + 4]
mov dword [ecx], 1
jmp 0x42afe0
jmp 0x42adff
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
movzx eax, word [eax + 0x22]
mov ecx, dword [esi + 0x64]
mov dword [ecx], eax
cmp dword [ecx], 0xffff
je 0x42ae32
jmp 0x42ae17
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
mov ecx, dword [esi + 0x28]
cmp eax, dword [ecx]
setne al
test al, 1
jne 0x42ae2a
jmp 0x42ae5a
mov eax, dword [esi + 0x64]
cmp dword [eax], 1
je 0x42ae5a
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x42ae43
mov dword [eax + 0x1c], 0xa
mov eax, dword [esi + 0xc]
mov dword [eax], 0
mov ecx, dword [esi + 4]
mov dword [ecx], 1
jmp 0x42afe0
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
not eax
or eax, ecx
je 0x42aec9
jmp 0x42ae6a
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov edx, dword [eax + 0x2a]
mov eax, edx
and eax, 0x1e
or edx, 0x1e
xor ecx, ecx
add eax, edx
setb cl
mov edi, dword [esi + 0x14]
mov edx, dword [edi]
mov edi, dword [edi + 4]
add eax, edx
adc ecx, edi
mov edx, dword [esi + 8]
mov edx, dword [edx]
mov edi, dword [edx]
mov edx, dword [edx + 4]
sub edi, eax
sbb edx, ecx
jae 0x42aec7
jmp 0x42ae9f
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x42aeb0
mov dword [eax + 0x1c], 9
mov eax, dword [esi + 0xc]
mov dword [eax], 0
mov ecx, dword [esi + 4]
mov dword [ecx], 1
jmp 0x42afe0
jmp 0x42aec9
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
movzx eax, word [eax + 8]
mov ecx, dword [esi + 0xd4]
mov dword [ecx], eax
mov eax, dword [ecx]
xor eax, 0xffffffff
or eax, 0xffffdfff
xor eax, 0xffffffff
and eax, 0xffffffff
cmp eax, 0
je 0x42af1c
jmp 0x42aef1
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x42af02
mov dword [eax + 0x1c], 5
mov eax, dword [esi + 0xc]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov dword [eax], 1
mov ecx, dword [esi + 4]
jmp 0x42afe0
jmp 0x42af1e
mov edx, dword [esi + 0x10]
mov eax, dword [edx]
movzx ecx, word [eax + 0x1c]
mov eax, ecx
and eax, 0x2966d6be
or ecx, 0x2966d6be
add eax, ecx
sub eax, 0x2966d690
mov ecx, dword [edx]
movzx ecx, word [ecx + 0x1e]
add eax, 0xf0a884fd
sub eax, 0xfee9e78e
add eax, ecx
add eax, 0xfee9e78e
add eax, 0xf577b03
mov ecx, dword [edx]
movzx ecx, word [ecx + 0x20]
xor edx, edx
sub edx, ecx
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, dword [esi + 0x7c]
mov dword [ecx], eax
mov ecx, dword [esi + 0x3c]
cmp eax, dword [ecx]
seta al
test al, 1
jne 0x42af82
jmp 0x42afac
jmp 0x42af84
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x42af95
mov dword [eax + 0x1c], 9
mov eax, dword [esi + 0xc]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov dword [eax], 1
mov ecx, dword [esi + 4]
jmp 0x42afe0
mov edi, dword [esi + 0x7c]
mov ecx, dword [edi]
mov edx, dword [esi + 0x3c]
mov eax, dword [edx]
sub eax, 0xa2733b07
sub eax, 0xd6f11327
add eax, 0xa2733b07
sub eax, ecx
add eax, 0xd6f11327
mov dword [edx], eax
mov eax, dword [edi]
mov ecx, dword [esi + 0x10]
add eax, dword [ecx]
mov dword [ecx], eax
mov ecx, dword [esi + 4]
mov dword [ecx], 0
cmp dword [ecx], 0
jne 0x42b044
jmp 0x42afe7
jmp 0x42afe9
mov ebx, dword [esi + 0x40]
mov edx, dword [ebx]
mov eax, edx
and eax, 1
shl eax, 1
mov ecx, edx
xor ecx, 0xffffffff
mov edi, edx
xor edi, 0xffffffff
or ecx, edi
xor ecx, 0xffffffff
or ecx, 0xfffffffe
and edx, 0xfffffffe
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
add ecx, 0xb7fab03d
add ecx, eax
sub ecx, 0xb7fab03d
mov dword [ebx], ecx
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x40]
jmp 0x42a8f7
jmp 0x42b033
mov ecx, dword [esi + 4]
mov dword [ecx], 0
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
jmp 0x42b04c
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 8]
jmp 0x42b04c
mov eax, dword [ecx]
cmp eax, 0
jne 0x42b07a
jmp 0x42b055
mov eax, dword [esi + 0x58]
cmp dword [eax], 0
mov eax, dword [esi + 4]
je 0x42b06e
jmp 0x42b062
mov ecx, dword [edx]
call fcn.00445310
mov eax, dword [esi + 4]
jmp 0x42b06e
mov dword [edi], 1
mov dword [eax], 1
mov eax, dword [edi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret