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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc8
mov esi, esp
mov dword [esi + 0xac], edx
mov dword [esi + 0xb0], ecx
jmp 0x428e3f
push eax
mov dword [esi + 4], esp
push eax
mov ecx, esp
push eax
mov edi, esp
push eax
mov dword [esi + 0x14], esp
push eax
mov dword [esi + 0x44], esp
push eax
mov dword [esi + 0x28], esp
push eax
mov dword [esi + 0x34], esp
sub esp, 8
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
mov dword [esi + 0xc], esp
push eax
sub esp, 0xffc
mov dword [esi + 0xa4], esp
push eax
mov dword [esi + 0x40], esp
push eax
mov dword [esi + 0x54], esp
sub esp, 0x14
mov dword [esi + 0xa8], esp
push eax
mov dword [esi + 0x2c], esp
sub esp, 0x38
mov dword [esi + 0xa0], esp
push eax
mov dword [esi + 0x30], esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x58], eax
mov esp, eax
push eax
mov dword [esi], esp
push eax
mov dword [esi + 0x68], esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x70], eax
mov esp, eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x6c], eax
mov esp, eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xb8], eax
mov esp, eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x64], eax
mov esp, eax
push eax
mov dword [esi + 0x50], esp
push eax
mov dword [esi + 0x3c], esp
push eax
mov dword [esi + 0x7c], esp
push eax
mov dword [esi + 0x60], esp
push eax
mov dword [esi + 0xbc], esp
push eax
mov dword [esi + 0x4c], esp
push eax
mov dword [esi + 0x20], esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x10], eax
mov esp, eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x1c], eax
mov esp, eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x5c], eax
mov esp, eax
push eax
mov dword [esi + 0x38], esp
push eax
mov dword [esi + 0x48], esp
push eax
mov dword [esi + 0x18], esp
push eax
mov dword [esi + 0x78], esp
push eax
mov dword [esi + 0x74], esp
mov eax, dword [esi + 0xac]
mov dword [ecx], eax
mov eax, dword [esi + 0xb0]
mov dword [edi], eax
mov eax, dword [esi + 0x14]
mov dword [eax], 0
mov eax, dword [esi + 0x44]
mov dword [eax], 0
mov eax, dword [esi + 0x28]
mov dword [eax], 0
mov eax, dword [esi + 0x34]
mov dword [eax], 0
mov dword [ebx + 4], 0
mov dword [esi + 0x24], ebx
mov dword [ebx], 0
mov dword [edx + 4], 0
mov dword [esi + 0xb4], edx
mov dword [edx], 0
mov eax, dword [esi + 0xa4]
mov edx, dword [esi + 0x40]
mov dword [edx], eax
mov ebx, dword [ecx]
mov edx, ebx
not edx
mov ecx, edx
and ecx, 0xfffff7ff
mov eax, ebx
xor eax, 0xfffff7ff
add edx, eax
sub edx, ecx
add ebx, edx
xor eax, eax
sub ebx, 0xffffffff
mov ebx, edi
sete al
mov ecx, dword [esi + 0x54]
mov dword [ecx], eax
mov eax, dword [esi + 0xa8]
mov ecx, dword [esi + 0x2c]
mov dword [ecx], eax
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x30]
mov dword [ecx], eax
mov eax, dword [esi + 0x58]
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [ebx]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub ecx, 0x16
sbb eax, 0
setb al
test al, 1
jne 0x429007
jmp 0x42902b
mov eax, dword [ebx]
cmp eax, 0
je 0x429015
mov dword [eax + 0x1c], 8
mov eax, dword [esi + 4]
mov dword [eax], 0
mov ecx, dword [esi]
mov dword [ecx], 1
jmp 0x429ef6
mov ecx, dword [ebx]
mov edi, dword [esi + 0xb4]
mov edx, edi
call fcn.00443290
cmp eax, 0
jne 0x429063
mov eax, dword [ebx]
cmp eax, 0
je 0x42904d
mov dword [eax + 0x1c], 7
mov eax, dword [esi + 4]
mov dword [eax], 0
mov ecx, dword [esi]
mov dword [ecx], 1
jmp 0x429ef6
mov eax, dword [ebx]
mov eax, dword [eax + 0x38]
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x40]
mov edx, dword [eax]
mov eax, dword [edi]
mov dword [esi + 0x84], eax
mov ecx, dword [edi + 4]
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
sub esp, 0x14
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov ecx, dword [esi + 0x84]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0x10], 0x16
call dword [esi + 0x8c]
add esp, 0x14
cmp eax, 0x16
je 0x4290d5
mov eax, dword [ebx]
cmp eax, 0
je 0x4290bf
mov dword [eax + 0x1c], 0x14
mov eax, dword [esi + 4]
mov dword [eax], 0
mov ecx, dword [esi]
mov dword [ecx], 1
jmp 0x429ef6
mov dword [esi + 8], ebx
jmp 0x4290da
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
cmp dword [eax], 0x6054b50
setne al
mov ebx, dword [esi + 8]
test al, 1
jne 0x4290f1
jmp 0x429117
jmp 0x4290f3
mov eax, dword [ebx]
cmp eax, 0
mov ecx, dword [esi]
je 0x429103
mov dword [eax + 0x1c], 8
mov eax, dword [esi + 4]
mov dword [eax], 0
mov dword [ecx], 1
jmp 0x429ef6
mov eax, dword [edi]
mov ecx, dword [edi + 4]
sub eax, 0x4c
sbb ecx, 0
jl 0x429251
jmp 0x42912a
mov eax, dword [ebx]
mov eax, dword [eax + 0x38]
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 ebx, dword [esi + 8]
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x44]
sub esp, 0x14
mov dword [esp + 0xc], edx
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov ebx, dword [esi + 8]
mov dword [esp + 0x10], 0x14
call eax
add esp, 0x14
cmp eax, 0x14
jne 0x42924f
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
cmp dword [eax], 0x7064b50
jne 0x429249
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edx, dword [esi + 0x58]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov ecx, dword [edx]
mov eax, dword [edx + 4]
mov edx, dword [ebx]
mov edi, dword [edx]
mov edx, dword [edx + 4]
add edi, 0xffffffc8
adc edx, 0xffffffff
sub edi, ecx
sbb edx, eax
jae 0x4291d4
jmp 0x4291b0
mov eax, dword [ebx]
cmp eax, 0
mov ecx, dword [esi]
je 0x4291c0
mov dword [eax + 0x1c], 8
mov eax, dword [esi + 4]
mov dword [eax], 0
mov dword [ecx], 1
jmp 0x429ef6
jmp 0x4291d6
mov eax, dword [ebx]
mov eax, dword [eax + 0x38]
mov ecx, dword [esi + 0x30]
mov ecx, dword [ecx]
mov edi, dword [esi + 0x58]
mov edx, dword [edi]
mov edi, dword [edi + 4]
mov ebx, dword [ebx]
mov ebx, dword [ebx + 0x44]
sub esp, 0x14
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], ebx
mov dword [esp + 0x10], 0x38
call eax
add esp, 0x14
cmp eax, 0x38
sete al
test al, 1
mov ebx, dword [esi + 8]
jne 0x42921b
jmp 0x429243
jmp 0x42921d
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
cmp dword [eax], 0x6064b50
sete al
test al, 1
jne 0x429231
jmp 0x42923d
mov eax, dword [ebx]
mov eax, dword [eax + 0x48]
mov dword [eax + 0x34], 1
jmp 0x42923f
jmp 0x429241
jmp 0x429243
jmp 0x429245
jmp 0x429247
jmp 0x429249
jmp 0x42924b
jmp 0x42924d
jmp 0x42924f
jmp 0x429251
jmp 0x429253
mov edx, dword [esi + 0x40]
mov eax, dword [edx]
movzx eax, word [eax + 0xa]
mov ecx, dword [ebx]
mov dword [ecx + 0x10], eax
mov eax, dword [edx]
movzx eax, word [eax + 8]
mov ecx, dword [esi + 0x44]
mov dword [ecx], eax
mov eax, dword [edx]
movzx eax, word [eax + 4]
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
mov eax, dword [edx]
movzx eax, word [eax + 6]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [edx]
mov eax, dword [eax + 0xc]
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov eax, dword [edx]
mov eax, dword [eax + 0x10]
mov ecx, dword [esi + 0x24]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov eax, dword [ebx]
mov eax, dword [eax + 0x48]
cmp dword [eax + 0x34], 0
setne al
mov edx, dword [esi]
test al, 1
jne 0x4292b4
jmp 0x429472
mov eax, dword [esi + 0x2c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov ecx, dword [esi + 0x68]
mov dword [ecx], eax
mov edx, dword [esi + 0x30]
mov eax, dword [edx]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov edi, dword [esi + 0x70]
mov dword [edi + 4], eax
mov dword [edi], ecx
mov eax, dword [edx]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov edi, dword [esi + 0x6c]
mov dword [edi + 4], eax
mov dword [edi], ecx
mov eax, dword [edx]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov ebx, dword [esi + 0xb8]
mov dword [ebx + 4], eax
mov dword [ebx], ecx
mov eax, dword [edx]
mov edx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov ecx, edx
not ecx
mov edi, edx
xor edi, 0x93b318a1
or ecx, 0x93b318a1
and ecx, edi
and edx, 0x6c4ce75e
or ecx, edx
xor ecx, 0x93b318a1
mov edx, dword [esi + 0x64]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
xor edx, edx
mov edi, 0x2b
sub edi, eax
sbb edx, ecx
jb 0x429364
jmp 0x42933d
mov ebx, dword [esi + 8]
mov eax, dword [ebx]
cmp eax, 0
mov edx, dword [esi]
je 0x429350
mov dword [eax + 0x1c], 9
mov eax, dword [esi + 4]
mov dword [eax], 0
mov dword [edx], 1
jmp 0x429467
mov edx, dword [esi]
mov ebx, dword [esi + 8]
jmp 0x42936b
mov eax, dword [esi + 0x68]
cmp dword [eax], 1
setne al
mov ecx, dword [esi + 0x70]
test al, 1
jne 0x42937d
jmp 0x42939f
mov eax, dword [ebx]
cmp eax, 0
je 0x42938b
mov dword [eax + 0x1c], 0xa
mov eax, dword [esi + 4]
mov dword [eax], 0
mov dword [edx], 1
jmp 0x429467
mov eax, dword [ecx + 4]
test eax, eax
je 0x4293cc
jmp 0x4293a8
jmp 0x4293aa
mov eax, dword [ebx]
cmp eax, 0
je 0x4293b8
mov dword [eax + 0x1c], 2
mov eax, dword [esi + 4]
mov dword [eax], 0
mov dword [edx], 1
jmp 0x429467
mov eax, dword [ecx]
mov ecx, dword [ebx]
mov dword [ecx + 0x10], eax
mov ecx, dword [esi + 0x6c]
mov eax, dword [ecx + 4]
test eax, eax
je 0x4293fe
jmp 0x4293df
mov eax, dword [ebx]
cmp eax, 0
je 0x4293ed
mov dword [eax + 0x1c], 2
mov eax, dword [esi + 4]
mov dword [eax], 0
mov dword [edx], 1
jmp 0x429467
mov eax, dword [ecx]
mov ecx, dword [esi + 0x44]
mov dword [ecx], eax
mov ecx, dword [esi + 0x64]
mov eax, dword [ecx + 4]
test eax, eax
je 0x429430
jmp 0x429411
mov eax, dword [ebx]
cmp eax, 0
je 0x42941f
mov dword [eax + 0x1c], 0xf
mov eax, dword [esi + 4]
mov dword [eax], 0
mov dword [edx], 1
jmp 0x429467
mov eax, dword [ecx]
mov ecx, dword [esi + 0x14]
mov dword [ecx], eax
mov edi, dword [esi + 0x30]
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
mov ecx, dword [esi + 0x28]
mov dword [ecx], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x14]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
mov eax, dword [edi]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov edi, dword [esi + 0x24]
mov dword [edi + 4], eax
mov dword [edi], ecx
mov dword [edx], 0
mov eax, dword [esi + 4]
cmp dword [edx], 0
jne 0x429ef6
jmp 0x429472
jmp 0x429474
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
mov ecx, dword [esi + 0x44]
cmp eax, dword [ecx]
setne al
test al, 1
jne 0x429487
jmp 0x4294ab
jmp 0x429489
mov eax, dword [ebx]
cmp eax, 0
je 0x429497
mov dword [eax + 0x1c], 0xa
mov eax, dword [esi + 4]
mov dword [eax], 0
mov dword [edx], 1
jmp 0x429ef6
jmp 0x4294ad
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 0x4294c3
jmp 0x4294f7
mov eax, dword [esi + 0x28]
cmp dword [eax], 1
jne 0x4294d3
mov eax, dword [esi + 0x34]
cmp dword [eax], 1
je 0x4294f7
jmp 0x4294d5
mov eax, dword [ebx]
cmp eax, 0
je 0x4294e3
mov dword [eax + 0x1c], 0xa
mov eax, dword [esi + 4]
mov dword [eax], 0
mov dword [edx], 1
jmp 0x429ef6
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0x10]
mov edi, ecx
xor edi, 0xffffffff
and edi, 0x2e
mov edx, ecx
and edx, 0xffffffd1
imul edx, edi
mov edi, ecx
and edi, 0x2e
or ecx, 0x2e
imul ecx, edi
add ecx, edx
cmp eax, ecx
jae 0x429546
mov eax, dword [ebx]
cmp eax, 0
mov ecx, dword [esi]
je 0x429532
mov dword [eax + 0x1c], 9
mov eax, dword [esi + 4]
mov dword [eax], 0
mov dword [ecx], 1
jmp 0x429ef6
jmp 0x429548
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esi + 0x14]
mov edx, dword [edx]
add edx, ecx
adc eax, 0
mov ecx, dword [ebx]
mov edi, dword [ecx]
mov ecx, dword [ecx + 4]
sub edi, edx
sbb ecx, eax
setb al
test al, 1
mov edi, dword [esi]
jne 0x429570
jmp 0x429592
mov eax, dword [ebx]
cmp eax, 0
je 0x42957e
mov dword [eax + 0x1c], 9
mov eax, dword [esi + 4]
mov dword [eax], 0
mov dword [edi], 1
jmp 0x429ef6
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, dword [ebx]
mov dword [edx + 0xc], ecx
mov dword [edx + 8], eax
mov eax, dword [ebx]
cmp dword [eax + 0x10], 0
je 0x429ed8
mov ecx, ebx
mov eax, dword [esi + 0x14]
mov ebx, dword [eax]
mov eax, dword [ecx]
mov edi, dword [eax + 0x48]
mov ecx, dword [ecx]
cmp dword [edi + 8], ebx
jae 0x4295e2
xor eax, eax
sub esp, 8
mov edx, edi
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.00443d90
add esp, 8
xor ecx, ecx
cmp eax, 0
je 0x4295ea
mov dword [edi + 4], ebx
mov ecx, 1
cmp ecx, 0
mov ebx, dword [esi + 8]
mov edi, dword [esi]
je 0x429648
jmp 0x4295f6
mov eax, dword [ebx]
mov ecx, ebx
mov ebx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
mov edi, eax
add edi, 0x10
mov ecx, dword [ecx]
cmp dword [eax + 0x18], ebx
jae 0x42962f
xor eax, eax
sub esp, 8
mov edx, edi
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.00443d90
add esp, 8
xor ecx, ecx
cmp eax, 0
je 0x429637
mov dword [edi + 4], ebx
mov ecx, 1
cmp ecx, 0
setne al
mov edi, dword [esi]
test al, 1
mov ebx, dword [esi + 8]
jne 0x42966a
jmp 0x429648
mov eax, dword [ebx]
cmp eax, 0
je 0x429656
mov dword [eax + 0x1c], 0x10
mov eax, dword [esi + 4]
mov dword [eax], 0
mov dword [edi], 1
jmp 0x429ecc
jmp 0x42966c
mov eax, dword [esi + 0x54]
cmp dword [eax], 0
setne al
test al, 1
jne 0x42967b
jmp 0x4296f3
jmp 0x42967d
mov eax, dword [ebx]
mov ecx, ebx
mov ebx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
mov edi, eax
add edi, 0x20
mov ecx, dword [ecx]
cmp dword [eax + 0x28], ebx
jae 0x4296b6
xor eax, eax
sub esp, 8
mov edx, edi
mov dword [esp], ebx
mov dword [esp + 4], 0
call fcn.00443d90
add esp, 8
xor ecx, ecx
cmp eax, 0
je 0x4296be
mov dword [edi + 4], ebx
mov ecx, 1
cmp ecx, 0
setne al
test al, 1
mov ebx, dword [esi + 8]
jne 0x4296f1
jmp 0x4296cd
mov eax, dword [ebx]
cmp eax, 0
je 0x4296db
mov dword [eax + 0x1c], 0x10
mov eax, dword [esi + 4]
mov dword [eax], 0
mov edi, dword [esi]
mov dword [edi], 1
jmp 0x429ecc
jmp 0x4296f3
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x38]
mov dword [esi + 0x90], eax
mov ecx, dword [ecx + 0x48]
mov edi, dword [esi + 0x14]
mov edx, dword [edi]
mov eax, dword [ecx]
mov dword [esi + 0x80], eax
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
mov dword [esi + 0x88], ecx
mov ecx, dword [eax + 4]
mov eax, dword [ebx]
mov eax, dword [eax + 0x44]
sub esp, 0x14
mov dword [esp + 0x10], edx
mov edx, dword [esi + 0x80]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov ecx, dword [esi + 0x88]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [esi + 0x90]
add esp, 0x14
cmp eax, dword [edi]
je 0x429774
mov eax, dword [ebx]
cmp eax, 0
mov edi, dword [esi]
je 0x429760
mov dword [eax + 0x1c], 0x14
mov eax, dword [esi + 4]
mov dword [eax], 0
mov dword [edi], 1
jmp 0x429ecc
jmp 0x429776
mov ebx, dword [esi + 8]
mov eax, dword [ebx]
mov eax, dword [eax + 0x48]
mov eax, dword [eax]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
mov ecx, dword [esi + 0x3c]
mov dword [ecx], eax
mov ecx, dword [esi + 0x50]
mov dword [ecx], 0
jmp 0x42979a
mov eax, dword [ecx]
mov ecx, dword [ebx]
cmp eax, dword [ecx + 0x10]
jae 0x429ebd
mov eax, dword [esi + 0x3c]
cmp dword [eax], 0x2e
jb 0x4297c8
jmp 0x4297b1
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp dword [eax], 0x2014b50
setne al
test al, 1
mov ebx, dword [esi + 8]
jne 0x4297c8
jmp 0x4297ec
mov eax, dword [ebx]
cmp eax, 0
je 0x4297d6
mov dword [eax + 0x1c], 9
mov eax, dword [esi + 4]
mov dword [eax], 0
mov edi, dword [esi]
mov dword [edi], 1
jmp 0x429e86
jmp 0x4297ee
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov edi, dword [esi + 8]
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x48]
mov ecx, dword [ecx]
mov edx, 0x3625a1b4
sub edx, ecx
sub edx, 0x3625a1b4
add eax, edx
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x48]
mov ecx, dword [ecx + 0x10]
mov edx, dword [esi + 0x50]
mov edx, dword [edx]
mov dword [ecx + edx*4], eax
mov eax, dword [esi + 0x54]
cmp dword [eax], 0
setne al
test al, 1
jne 0x42982b
jmp 0x429840
mov edx, dword [esi + 0x50]
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
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
mov edx, dword [esi + 0x10]
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 + 0x5c]
mov dword [edx], eax
mov dword [edx + 4], 0
mov eax, dword [ecx]
movzx eax, word [eax + 0x1c]
mov edx, dword [esi + 0x4c]
mov dword [edx], eax
mov eax, dword [ecx]
movzx eax, word [eax + 0x1e]
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x48]
cmp dword [eax + 0x38], 0
jne 0x429c3d
jmp 0x4298a0
mov eax, dword [esi + 0x20]
cmp dword [eax], 0
setne al
test al, 1
jne 0x4298b2
jmp 0x429c3d
jmp 0x4298b4
mov ecx, dword [esi + 0x10]
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
setb al
test al, 1
jne 0x4298d1
jmp 0x4298dd
jmp 0x4298d3
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x4298e7
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x4298e7
mov edi, dword [esi + 0x5c]
mov edx, dword [edi]
mov edi, dword [edi + 4]
sub edx, eax
sbb edi, ecx
jae 0x429927
jmp 0x4298f7
mov ecx, dword [esi + 0x10]
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 0x429919
jmp 0x42990f
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x429925
jmp 0x42991b
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x429925
jmp 0x429931
mov ecx, dword [esi + 0x5c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x429931
not eax
or eax, ecx
jne 0x429c3d
jmp 0x42993d
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
mov ecx, dword [esi + 0x38]
mov dword [ecx], eax
cmp dword [ecx], 0
setne al
test al, 1
jne 0x429956
jmp 0x429c24
mov eax, dword [esi + 0x18]
mov dword [eax], 0
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
add eax, 0xa5245113
sub eax, 0xa52450e5
mov ecx, dword [esi + 0x20]
add eax, dword [ecx]
mov ecx, dword [esi + 0x3c]
cmp eax, dword [ecx]
seta al
test al, 1
jne 0x429984
jmp 0x429a7e
mov eax, dword [esi + 0x20]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.004556d4
add esp, 4
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
cmp dword [ecx], 0
jne 0x4299c8
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x4299b2
mov dword [eax + 0x1c], 0x10
mov eax, dword [esi + 4]
mov dword [eax], 0
mov eax, dword [esi]
mov dword [eax], 1
jmp 0x429c19
mov edx, dword [esi + 8]
mov eax, dword [edx]
mov eax, dword [eax + 0x38]
mov dword [esi + 0x9c], eax
mov edi, dword [esi + 0x20]
mov eax, dword [edi]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [esi + 0x4c]
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 + 0x94]
mov dword [esp + 0x10], edx
mov edx, dword [esi + 0x98]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [esi + 0x9c]
add esp, 0x14
cmp eax, dword [edi]
je 0x429a72
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.00455635
add esp, 4
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x429a5c
mov dword [eax + 0x1c], 0x14
mov eax, dword [esi + 4]
mov dword [eax], 0
mov eax, dword [esi]
mov dword [eax], 1
jmp 0x429c19
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
mov ecx, dword [esi + 0x48]
mov dword [ecx], eax
jmp 0x429a94
jmp 0x429a80
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
add eax, 0x2e
mov ecx, dword [esi + 0x4c]
add eax, dword [ecx]
mov ecx, dword [esi + 0x48]
mov dword [ecx], eax
jmp 0x429a94
jmp 0x429a96
jmp 0x429a98
jmp 0x429a9a
mov eax, dword [esi + 0x38]
cmp dword [eax], 4
jae 0x429ade
jmp 0x429aa4
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.00455635
add esp, 4
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x429ac8
mov dword [eax + 0x1c], 9
mov eax, dword [esi + 4]
mov dword [eax], 0
mov eax, dword [esi]
mov dword [eax], 1
jmp 0x429bd0
mov ecx, dword [esi + 0x48]
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, 0x63763e93
sub eax, 0xf271fe79
add eax, 4
add eax, 0xf271fe79
add eax, 0x93c9edbf
sub eax, 0x63763e93
sub eax, 0x93c9edbf
mov ecx, dword [esi + 0x38]
cmp eax, dword [ecx]
jbe 0x429b59
jmp 0x429b22
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.00455635
add esp, 4
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x429b46
mov dword [eax + 0x1c], 9
mov eax, dword [esi + 4]
mov dword [eax], 0
mov eax, dword [esi]
mov dword [eax], 1
jmp 0x429bd0
mov eax, dword [esi + 0x78]
cmp dword [eax], 1
jne 0x429b86
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]
mov dword [eax], 5
jmp 0x429bd0
jmp 0x429b88
mov edx, dword [esi + 0x74]
mov eax, dword [edx]
xor ecx, ecx
sub ecx, eax
add ecx, 0xfffffffc
xor eax, eax
sub eax, ecx
mov ecx, dword [esi + 0x48]
add eax, dword [ecx]
mov dword [ecx], eax
mov edi, dword [esi + 0x38]
mov eax, dword [edi]
add eax, 0x4be90811
sub eax, 4
sub eax, 0x4be90811
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]
mov dword [eax], 0
jmp 0x429bd0
mov eax, dword [esi]
mov eax, dword [eax]
test eax, eax
je 0x429be1
jmp 0x429bda
sub eax, 5
je 0x429bf8
jmp 0x429c17
jmp 0x429be3
jmp 0x429be5
mov eax, dword [esi + 0x38]
cmp dword [eax], 0
setne al
test al, 1
jne 0x429a9a
jmp 0x429bf8
jmp 0x429bfa
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.00455635
add esp, 4
mov eax, dword [esi]
mov dword [eax], 0
jmp 0x429c19
jmp 0x429c19
mov eax, dword [esi]
mov eax, dword [eax]
cmp eax, 0
jne 0x429c2c
jmp 0x429c24
mov eax, dword [esi]
mov dword [eax], 0
mov eax, dword [esi]
mov eax, dword [eax]
cmp eax, 0
mov edi, dword [esi]
jne 0x429e86
jmp 0x429c3d
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
not eax
or eax, ecx
je 0x429cd8
jmp 0x429c51
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
not eax
or eax, ecx
je 0x429cd8
jmp 0x429c61
jmp 0x429c63
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
cmp dword [eax + 0xa], 0
setne al
test al, 1
jne 0x429c8f
jmp 0x429c75
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edi, dword [esi + 0x10]
mov edx, dword [edi]
mov edi, dword [edi + 4]
xor ecx, edi
xor eax, edx
or eax, ecx
jne 0x429cab
jmp 0x429c8f
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
or eax, ecx
je 0x429cd2
jmp 0x429c9d
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
or eax, ecx
jne 0x429cd2
jmp 0x429cab
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x429cbc
mov dword [eax + 0x1c], 9
mov eax, dword [esi + 4]
mov dword [eax], 0
mov edi, dword [esi]
mov dword [edi], 1
jmp 0x429e86
jmp 0x429cd4
jmp 0x429cd6
jmp 0x429cd8
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
movzx eax, word [eax + 0x22]
mov ecx, dword [esi + 0x60]
mov dword [ecx], eax
cmp dword [ecx], 0xffff
je 0x429d02
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [esi + 0x28]
cmp eax, dword [ecx]
je 0x429d29
mov eax, dword [esi + 0x60]
cmp dword [eax], 1
je 0x429d29
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x429d13
mov dword [eax + 0x1c], 0xa
mov eax, dword [esi + 4]
mov dword [eax], 0
mov edi, dword [esi]
mov dword [edi], 1
jmp 0x429e86
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
not eax
or eax, ecx
je 0x429d93
jmp 0x429d39
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0x2a]
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
add eax, edx
adc ecx, 0
add eax, 0x1e
adc ecx, 0
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 0x429d91
jmp 0x429d66
jmp 0x429d68
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x429d79
mov dword [eax + 0x1c], 9
mov eax, dword [esi + 4]
mov dword [eax], 0
mov eax, dword [esi]
mov dword [eax], 1
mov edi, dword [esi]
jmp 0x429e86
jmp 0x429d93
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
movzx eax, word [eax + 8]
mov ecx, dword [esi + 0xbc]
mov dword [ecx], eax
mov eax, dword [ecx]
xor edx, edx
sub edx, eax
add edx, 0xffffffff
xor ecx, ecx
sub ecx, edx
xor eax, 0xffffffff
mov edx, eax
and edx, 0xffffdfff
mov edi, eax
xor edi, 0x2000
add eax, edi
sub eax, edx
add eax, ecx
cmp eax, 0
je 0x429df6
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x429de0
mov dword [eax + 0x1c], 5
mov eax, dword [esi + 4]
mov dword [eax], 0
mov edi, dword [esi]
mov dword [edi], 1
jmp 0x429e86
jmp 0x429df8
mov edx, dword [esi + 0xc]
mov eax, dword [edx]
movzx eax, word [eax + 0x1c]
add eax, 0x2e
mov ecx, dword [edx]
movzx ecx, word [ecx + 0x1e]
add eax, ecx
mov ecx, dword [edx]
movzx ecx, word [ecx + 0x20]
xor ecx, 0xffffffff
sub ecx, 0xffffffff
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 0x429e2d
jmp 0x429e55
jmp 0x429e2f
mov eax, dword [esi + 8]
mov eax, dword [eax]
cmp eax, 0
je 0x429e40
mov dword [eax + 0x1c], 9
mov eax, dword [esi + 4]
mov dword [eax], 0
mov eax, dword [esi]
mov dword [eax], 1
mov edi, dword [esi]
jmp 0x429e86
jmp 0x429e57
mov edi, dword [esi + 0x7c]
mov eax, dword [edi]
mov edx, dword [esi + 0x3c]
mov ecx, dword [edx]
add ecx, 0x6e4f922c
sub ecx, eax
sub ecx, 0x6e4f922c
mov dword [edx], ecx
mov eax, dword [edi]
mov ecx, dword [esi + 0xc]
add eax, dword [ecx]
mov dword [ecx], eax
mov eax, dword [esi]
mov dword [eax], 0
mov edi, dword [esi]
jmp 0x429e86
cmp dword [edi], 0
jne 0x429ec7
jmp 0x429e8d
mov ecx, dword [esi + 0x50]
mov eax, dword [ecx]
sub eax, 0x392b4fde
add eax, 0x894fff3c
add eax, 0x392b4fde
add eax, 0xa799cd98
add eax, 1
sub eax, 0xa799cd98
sub eax, 0x894fff3c
mov dword [ecx], eax
mov ebx, dword [esi + 8]
jmp 0x42979a
mov edi, dword [esi]
mov dword [edi], 0
jmp 0x429ecc
mov ebx, dword [esi + 8]
jmp 0x429ecc
mov eax, dword [edi]
cmp eax, 0
mov eax, dword [esi + 4]
jne 0x429ef6
jmp 0x429ed8
mov eax, dword [esi + 0x54]
cmp dword [eax], 0
je 0x429ee7
mov ecx, dword [ebx]
call fcn.004435b0
mov eax, dword [esi + 4]
mov dword [eax], 1
mov dword [edi], 1
mov eax, dword [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret