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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x1130
call fcn.0044c2d0
mov dword [esp + 0xdc], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
lea eax, [esp + 0x12c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xdc]
mov ecx, eax
xor ecx, 0xfffff7ff
or eax, 0x800
and eax, ecx
xor ecx, ecx
test eax, eax
sete cl
mov dword [esp + 0x90], ecx
lea eax, [esp + 0xe0]
mov dword [esp + 0x68], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0x30], eax
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
xor edx, edx
mov esi, 0x15
sub esi, ecx
sbb edx, eax
jb 0x427b43
jmp 0x427b1e
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x427b2e
mov dword [eax + 0x1c], 8
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a63
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x70]
call fcn.00442dd0
cmp eax, 0
jne 0x427b7a
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x427b65
mov dword [eax + 0x1c], 7
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a63
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x18]
mov edi, dword [edi + 0x44]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x10], 0x16
call eax
cmp eax, 0x16
je 0x427bd7
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x427bc2
mov dword [eax + 0x1c], 0x14
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a63
jmp 0x427bd9
mov eax, dword [esp + 0x38]
cmp dword [eax], 0x6054b50
setne al
test al, 1
jne 0x427bec
jmp 0x427c11
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x427bfc
mov dword [eax + 0x1c], 8
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a63
jmp 0x427c13
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
xor edx, edx
mov esi, 0x4b
sub esi, eax
sbb edx, ecx
setl al
test al, 1
jne 0x427c32
jmp 0x427d69
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
add ecx, 0xbbcdcaa
adc esi, 0xd7ddc191
mov edi, ecx
not edi
and edi, 0x14
and ecx, 0xffffffeb
sub ecx, edi
sbb esi, 0
add ecx, 0xf4432356
adc esi, 0x28223e6e
mov edi, dword [esp + 0x18]
mov edi, dword [edi + 0x44]
mov dword [esp + 0xc], edx
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0x10], 0x14
call eax
cmp eax, 0x14
jne 0x427d63
mov eax, dword [esp + 0x68]
cmp dword [eax], 0x7064b50
jne 0x427d61
jmp 0x427ca7
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
mov edx, dword [edx + 4]
add esi, 0xffffffc8
adc edx, 0xffffffff
sub esi, eax
sbb edx, ecx
setb al
test al, 1
jne 0x427cdd
jmp 0x427d02
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x427ced
mov dword [eax + 0x1c], 8
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a63
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x18]
mov edi, dword [edi + 0x44]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x10], 0x38
call eax
cmp eax, 0x38
jne 0x427d5f
jmp 0x427d3c
mov eax, dword [esp + 0x30]
cmp dword [eax], 0x6064b50
sete al
test al, 1
jne 0x427d4f
jmp 0x427d5d
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x48]
mov dword [eax + 0x34], 1
jmp 0x427d5f
jmp 0x427d61
jmp 0x427d63
jmp 0x427d65
jmp 0x427d67
jmp 0x427d69
jmp 0x427d6b
mov eax, dword [esp + 0x38]
movzx eax, word [eax + 0xa]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x38]
movzx eax, word [eax + 8]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x38]
movzx eax, word [eax + 4]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x38]
movzx eax, word [eax + 6]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x48]
cmp dword [eax + 0x34], 0
setne al
test al, 1
jne 0x427dd6
jmp 0x427ff9
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x10]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb8], ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
xor eax, eax
xor esi, esi
add esi, 0xffffffff
mov esi, edx
not esi
mov edi, edx
adc edi, esi
not edi
add edi, edx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], edi
mov edx, dword [esp + 0x30]
mov ecx, dword [edx + 0x28]
mov edx, dword [edx + 0x2c]
mov ebx, ecx
not ebx
mov edi, edx
not edi
mov esi, ebx
add esi, esi
shr ecx, 0x1f
not esi
add esi, ebx
adc ecx, 0xffffffff
add edx, edx
mov ebx, 1
add ebx, 0xffffffff
adc edx, edi
or ecx, edx
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov esi, 0x2b
sub esi, ecx
sbb eax, edx
jb 0x427ebb
jmp 0x427e96
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x427ea6
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x427fe8
jmp 0x427ebd
cmp dword [esp + 0xd8], 1
setne al
test al, 1
jne 0x427ece
jmp 0x427ef3
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x427ede
mov dword [eax + 0x1c], 0xa
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x427fe8
jmp 0x427ef5
mov eax, dword [esp + 0xc4]
test eax, eax
setne al
test al, 1
jne 0x427f07
jmp 0x427f2c
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x427f17
mov dword [eax + 0x1c], 2
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x427fe8
jmp 0x427f2e
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0xbc]
test eax, eax
setne al
test al, 1
jne 0x427f4e
jmp 0x427f70
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x427f5e
mov dword [eax + 0x1c], 2
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x427fe8
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xac]
test eax, eax
je 0x427fad
jmp 0x427f8b
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x427f9b
mov dword [eax + 0x1c], 0xf
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x427fe8
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x1c], 0
cmp dword [esp + 0x1c], 0
jne 0x428a63
jmp 0x427ff5
jmp 0x427ff7
jmp 0x427ff9
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
cmp eax, dword [esp + 0x94]
je 0x42802e
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428019
mov dword [eax + 0x1c], 0xa
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a63
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x6c]
mov eax, edx
xor eax, 0xffffffff
mov esi, edx
xor esi, 0xffffffff
or eax, esi
and eax, 0xffffffff
xor eax, 0xffffffff
and eax, 0xffffffff
xor eax, 0xffffffff
mov esi, edx
and esi, 0xffffffff
shl esi, 1
add edx, 0xffffffff
sub edx, esi
or eax, edx
mov edx, ecx
xor edx, 0xffffffff
xor ecx, 0xffffffff
mov esi, ecx
xor esi, 0xffffffff
mov edi, edx
and edi, esi
mov esi, edx
xor esi, ecx
add edx, esi
sub edx, edi
and eax, edx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x9332b04e
and eax, 0x6ccd4fb1
or ecx, eax
xor ecx, 0x6ccd4fb1
cmp ecx, 0
je 0x4280c8
cmp dword [esp + 0x64], 1
jne 0x4280a3
cmp dword [esp + 0x6c], 1
je 0x4280c8
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x4280b3
mov dword [eax + 0x1c], 0xa
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a63
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
imul ecx, dword [ecx + 0x10], 0x2e
cmp eax, ecx
jae 0x4280ff
jmp 0x4280da
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x4280ea
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a63
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x3c]
add eax, edx
adc ecx, 0
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
mov edx, dword [edx + 4]
sub esi, eax
sbb edx, ecx
jae 0x428146
jmp 0x428121
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428131
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a63
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x18]
mov dword [edx + 0xc], ecx
mov dword [edx + 8], eax
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x10], 0
je 0x428a3c
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0x48]
mov ecx, dword [esp + 0x18]
cmp dword [esi + 8], edi
jae 0x428195
xor eax, eax
mov edx, esi
mov dword [esp], edi
mov dword [esp + 4], 0
call fcn.00443920
xor ecx, ecx
cmp eax, 0
je 0x42819d
mov dword [esi + 4], edi
mov ecx, 1
cmp ecx, 0
je 0x4281ef
jmp 0x4281a4
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x10]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x48]
mov esi, eax
add esi, 0x10
mov ecx, dword [esp + 0x18]
cmp dword [eax + 0x18], edi
jae 0x4281db
xor eax, eax
mov edx, esi
mov dword [esp], edi
mov dword [esp + 4], 0
call fcn.00443920
xor ecx, ecx
cmp eax, 0
je 0x4281e3
mov dword [esi + 4], edi
mov ecx, 1
cmp ecx, 0
setne al
test al, 1
jne 0x428214
jmp 0x4281ef
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x4281ff
mov dword [eax + 0x1c], 0x10
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a33
cmp dword [esp + 0x90], 0
je 0x428289
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x10]
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x48]
mov esi, eax
add esi, 0x20
mov ecx, dword [esp + 0x18]
cmp dword [eax + 0x28], edi
jae 0x428255
xor eax, eax
mov edx, esi
mov dword [esp], edi
mov dword [esp + 4], 0
call fcn.00443920
xor ecx, ecx
cmp eax, 0
je 0x42825d
mov dword [esi + 4], edi
mov ecx, 1
cmp ecx, 0
jne 0x428287
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428272
mov dword [eax + 0x1c], 0x10
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a33
jmp 0x428289
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x48]
mov edx, dword [esp + 0x3c]
mov ecx, dword [ecx]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x18]
mov ebx, dword [ebx + 0x44]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp], ebx
call eax
cmp eax, dword [esp + 0x3c]
je 0x4282e8
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x4282d3
mov dword [eax + 0x1c], 0x14
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a33
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x48]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x18]
cmp eax, dword [ecx + 0x10]
jae 0x428a27
cmp dword [esp + 0x60], 0x2e
jb 0x428329
mov eax, dword [esp + 0x24]
cmp dword [eax], 0x2014b50
je 0x42834e
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428339
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a00
jmp 0x428350
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x48]
mov ecx, dword [ecx]
sub eax, ecx
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x48]
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 0x58]
mov dword [ecx + edx*4], eax
cmp dword [esp + 0x90], 0
setne al
test al, 1
jne 0x428381
jmp 0x428396
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x48]
mov ecx, dword [ecx + 0x20]
mov edx, dword [esp + 0x58]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x2a]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], 0
mov eax, dword [esp + 0x24]
movzx eax, word [eax + 0x1c]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x24]
movzx eax, word [eax + 0x1e]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x48]
cmp dword [eax + 0x38], 0
jne 0x42877a
jmp 0x428403
cmp dword [esp + 0x54], 0
setne al
test al, 1
jne 0x428414
jmp 0x42877a
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
sub edx, eax
sbb esi, ecx
jae 0x428436
jmp 0x42842c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
jmp 0x428442
jmp 0x428438
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
jmp 0x428442
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
sub edx, eax
sbb esi, ecx
setb al
test al, 1
jne 0x42845d
jmp 0x42848d
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
sub edx, eax
sbb esi, ecx
jae 0x428481
jmp 0x428475
jmp 0x428477
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
jmp 0x42848b
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
jmp 0x42848b
jmp 0x42849d
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
jmp 0x42849d
not eax
or eax, ecx
jne 0x42877a
jmp 0x4284a9
mov eax, dword [esp + 0x54]
mov dword [esp + 0x50], eax
cmp dword [esp + 0x50], 0
setne al
test al, 1
jne 0x4284c2
jmp 0x428765
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x88]
add eax, 0x2e
add eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x60]
jbe 0x4285d5
jmp 0x4284e4
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.00454374
mov dword [esp + 0x34], eax
cmp dword [esp + 0x34], 0
sete al
test al, 1
jne 0x428502
jmp 0x428529
jmp 0x428504
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428514
mov dword [eax + 0x1c], 0x10
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x42875c
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
mov dword [esp + 0xcc], eax
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
add eax, 0x2e
adc edi, 0
mov ebx, dword [esp + 0x88]
mov ecx, eax
and ecx, ebx
mov edx, ecx
shr edx, 0x1f
add ecx, ecx
xor eax, ebx
add eax, ecx
adc edi, edx
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x44]
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0xc8]
mov dword [esp + 0xc], edx
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], ecx
call dword [esp + 0xcc]
cmp eax, dword [esp + 0x54]
je 0x4285cb
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.004542d5
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x4285b6
mov dword [eax + 0x1c], 0x14
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x42875c
mov eax, dword [esp + 0x34]
mov dword [esp + 0x5c], eax
jmp 0x4285e7
mov eax, dword [esp + 0x24]
add eax, 0x2e
add eax, dword [esp + 0x88]
mov dword [esp + 0x5c], eax
jmp 0x4285e9
cmp dword [esp + 0x50], 4
jae 0x428621
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.004542d5
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x42860c
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428726
mov eax, dword [esp + 0x5c]
movzx eax, word [eax]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x5c]
movzx eax, word [eax + 2]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x84]
add eax, 4
cmp eax, dword [esp + 0x50]
jbe 0x428681
jmp 0x428650
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.004542d5
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x42866c
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428726
cmp dword [esp + 0xd0], 1
jne 0x4286b1
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x48]
mov dword [eax + 0x34], 1
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x48]
mov dword [eax + 0x38], 1
mov dword [esp + 0x1c], 5
jmp 0x428726
jmp 0x4286b3
mov ecx, dword [esp + 0x84]
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
and eax, 4
mov esi, eax
and esi, 0xfffffffd
mov edx, eax
or edx, 0xfffffffd
xor edx, 0xffffffff
imul edx, esi
mov esi, eax
and esi, 2
or eax, 2
imul eax, esi
add eax, edx
mov edx, ecx
and edx, 0xfffffffb
xor ecx, 0xffffffff
and ecx, 4
or edx, ecx
add edx, eax
add edx, dword [esp + 0x5c]
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x50]
sub eax, 0x39ff8e33
sub eax, 4
add eax, 0x39ff8e33
sub eax, dword [esp + 0x84]
mov dword [esp + 0x50], eax
mov dword [esp + 0x1c], 0
jmp 0x428726
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x428737
jmp 0x428730
sub eax, 5
je 0x428744
jmp 0x42875a
jmp 0x428739
cmp dword [esp + 0x50], 0
jne 0x4285e9
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.004542d5
mov dword [esp + 0x1c], 0
jmp 0x42875c
jmp 0x42875c
cmp dword [esp + 0x1c], 0
jne 0x42876d
jmp 0x428765
mov dword [esp + 0x1c], 0
cmp dword [esp + 0x1c], 0
jne 0x428a00
jmp 0x42877a
jmp 0x42877c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
not eax
or eax, ecx
setne al
test al, 1
jne 0x428794
jmp 0x428820
jmp 0x428796
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
not eax
or eax, ecx
setne al
test al, 1
jne 0x4287ab
jmp 0x428820
mov eax, dword [esp + 0x24]
cmp dword [eax + 0xa], 0
jne 0x4287d6
jmp 0x4287b7
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
xor ecx, esi
xor eax, edx
or eax, ecx
setne al
test al, 1
jne 0x4287f9
jmp 0x4287d6
jmp 0x4287d8
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
or eax, ecx
setne al
test al, 1
jne 0x4287eb
jmp 0x42881e
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
or eax, ecx
jne 0x42881e
jmp 0x4287f9
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428809
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a00
jmp 0x428820
jmp 0x428822
mov eax, dword [esp + 0x24]
movzx eax, word [eax + 0x22]
mov dword [esp + 0x8c], eax
cmp dword [esp + 0x8c], 0xffff
sete al
test al, 1
jne 0x428865
jmp 0x428845
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x64]
je 0x42888a
jmp 0x428854
cmp dword [esp + 0x8c], 1
setne al
test al, 1
jne 0x428865
jmp 0x42888a
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428875
mov dword [eax + 0x1c], 0xa
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a00
jmp 0x42888c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
not eax
or eax, ecx
setne al
test al, 1
jne 0x4288a1
jmp 0x4288f5
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x2a]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
add eax, edx
adc ecx, 0
add eax, 0x1e
adc ecx, 0
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
mov edx, dword [edx + 4]
sub esi, eax
sbb edx, ecx
jae 0x4288f3
jmp 0x4288cc
jmp 0x4288ce
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x4288de
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a00
jmp 0x4288f5
mov eax, dword [esp + 0x24]
movzx eax, word [eax + 8]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xd4]
and eax, 0x2000
cmp eax, 0
je 0x42893a
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428925
mov dword [eax + 0x1c], 5
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a00
jmp 0x42893c
mov eax, dword [esp + 0x24]
movzx ecx, word [eax + 0x1c]
xor ecx, 0xffffffff
add ecx, 0
add ecx, 1
mov eax, 0xb60ed7eb
sub eax, ecx
sub eax, 0xb60ed7bd
mov ecx, dword [esp + 0x24]
movzx ecx, word [ecx + 0x1e]
add eax, ecx
mov ecx, dword [esp + 0x24]
movzx ecx, word [ecx + 0x20]
xor edx, edx
sub edx, ecx
add eax, 0x26b5ebc0
sub eax, edx
sub eax, 0x26b5ebc0
mov dword [esp + 0xa4], eax
cmp eax, dword [esp + 0x60]
seta al
test al, 1
jne 0x42898f
jmp 0x4289b3
jmp 0x428991
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x4289a1
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428a00
mov esi, dword [esp + 0xa4]
mov eax, dword [esp + 0x60]
mov ecx, eax
xor ecx, esi
mov edx, esi
xor edx, 0xffffffff
xor esi, 0xffffffff
and edx, esi
xor edx, 0xffffffff
and edx, 0xffffffff
or edx, 0
xor edx, 0xffffffff
and eax, edx
shl eax, 1
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xa4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], 0
cmp dword [esp + 0x1c], 0
jne 0x428a31
jmp 0x428a09
jmp 0x428a0b
jmp 0x428a0d
mov eax, dword [esp + 0x58]
sub eax, 0xccdf3f06
add eax, 1
add eax, 0xccdf3f06
mov dword [esp + 0x58], eax
jmp 0x428305
mov dword [esp + 0x1c], 0
jmp 0x428a33
jmp 0x428a33
cmp dword [esp + 0x1c], 0
jne 0x428a63
jmp 0x428a3c
cmp dword [esp + 0x90], 0
je 0x428a53
jmp 0x428a48
mov ecx, dword [esp + 0x18]
call fcn.004430d0
jmp 0x428a53
mov dword [esp + 0x20], 1
mov dword [esp + 0x1c], 1
mov eax, dword [esp + 0x20]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret