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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x1138
call fcn.0044d660
mov dword [esp + 0xe4], 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 + 0x134]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov ecx, eax
xor ecx, 0xfffff7ff
and ecx, eax
xor eax, eax
test ecx, ecx
sete al
mov dword [esp + 0x90], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0x68], eax
lea eax, [esp + 0xfc]
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 0x428990
jmp 0x428969
jmp 0x42896b
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x42897b
mov dword [eax + 0x1c], 8
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x4298c6
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x70]
call fcn.00443890
cmp eax, 0
jne 0x4289c9
jmp 0x4289a4
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x4289b4
mov dword [eax + 0x1c], 7
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x4298c6
jmp 0x4289cb
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
setne al
test al, 1
jne 0x428a0a
jmp 0x428a2f
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428a1a
mov dword [eax + 0x1c], 0x14
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x4298c6
mov eax, dword [esp + 0x38]
cmp dword [eax], 0x6054b50
je 0x428a60
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428a4b
mov dword [eax + 0x1c], 8
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x4298c6
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
sub eax, 0x4c
sbb ecx, 0
jl 0x428bc6
jmp 0x428a76
jmp 0x428a78
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
add edx, 0xffffffec
adc esi, 0xffffffff
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], 0x14
call eax
cmp eax, 0x14
sete al
test al, 1
jne 0x428ac0
jmp 0x428bc4
jmp 0x428ac2
mov eax, dword [esp + 0x68]
cmp dword [eax], 0x7064b50
sete al
test al, 1
jne 0x428ad8
jmp 0x428bc2
jmp 0x428ada
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edi, ecx
not edi
mov edx, edi
and edx, 0xe3703c55
mov esi, ecx
and esi, 0x1c8fc3aa
or edx, esi
mov esi, edx
xor esi, 0x1c8fc3aa
or esi, edi
xor edx, 0xe3703c55
and edx, ecx
not edx
and esi, edx
not esi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], esi
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
mov edx, dword [edx + 4]
mov edi, esi
not edi
and edi, 0x38
and esi, 0xffffffc7
sub esi, edi
sbb edx, 0
sub esi, ecx
sbb edx, eax
setb al
test al, 1
jne 0x428b47
jmp 0x428b6c
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428b57
mov dword [eax + 0x1c], 8
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x4298c6
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 0x428bc0
mov eax, dword [esp + 0x30]
cmp dword [eax], 0x6064b50
jne 0x428bbe
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x48]
mov dword [eax + 0x34], 1
jmp 0x428bc0
jmp 0x428bc2
jmp 0x428bc4
jmp 0x428bc6
jmp 0x428bc8
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 0x428c33
jmp 0x428e36
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x10]
mov dword [esp + 0xe0], 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 edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov esi, edx
not esi
mov ecx, edx
add ecx, ecx
adc eax, 0
mov edi, ecx
xor edi, edx
and ecx, esi
mov edx, eax
shld edx, ecx, 1
add ecx, ecx
sub ecx, edi
sbb edx, eax
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], edx
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0xac], eax
mov dword [esp + 0xa8], ecx
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
xor edx, edx
mov esi, 0x2b
sub esi, eax
sbb edx, ecx
jb 0x428d02
jmp 0x428cdb
jmp 0x428cdd
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428ced
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428e25
cmp dword [esp + 0xe0], 1
je 0x428d31
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428d1c
mov dword [eax + 0x1c], 0xa
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428e25
jmp 0x428d33
mov eax, dword [esp + 0xc4]
test eax, eax
setne al
test al, 1
jne 0x428d45
jmp 0x428d6c
jmp 0x428d47
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428d57
mov dword [eax + 0x1c], 2
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428e25
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x428da9
jmp 0x428d87
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428d97
mov dword [eax + 0x1c], 2
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428e25
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xac]
test eax, eax
je 0x428de6
jmp 0x428dc4
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428dd4
mov dword [eax + 0x1c], 0xf
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x428e25
jmp 0x428de8
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
jmp 0x428e25
cmp dword [esp + 0x1c], 0
jne 0x4298c6
jmp 0x428e32
jmp 0x428e34
jmp 0x428e36
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
cmp eax, dword [esp + 0x94]
je 0x428e6b
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428e56
mov dword [eax + 0x1c], 0xa
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x4298c6
jmp 0x428e6d
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x6c]
and eax, eax
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or ecx, ecx
xor ecx, 0xffffffff
or ecx, 0
xor ecx, 0xffffffff
or ecx, 0
xor ecx, 0xffffffff
mov esi, edx
and esi, ecx
xor edx, ecx
or esi, edx
xor eax, 0xffffffff
xor esi, 0xffffffff
mov ecx, eax
and ecx, esi
xor eax, esi
or ecx, eax
cmp ecx, 0
setne al
test al, 1
jne 0x428eb2
jmp 0x428ee5
cmp dword [esp + 0x64], 1
jne 0x428ec0
cmp dword [esp + 0x6c], 1
je 0x428ee5
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428ed0
mov dword [eax + 0x1c], 0xa
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x4298c6
jmp 0x428ee7
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
imul ecx, dword [ecx + 0x10], 0x2e
cmp eax, ecx
setb al
test al, 1
jne 0x428efe
jmp 0x428f25
jmp 0x428f00
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428f10
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x4298c6
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 0x428f6c
jmp 0x428f47
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x428f57
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x4298c6
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 0x4298a3
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 0x428fbb
xor eax, eax
mov edx, esi
mov dword [esp], edi
mov dword [esp + 4], 0
call fcn.00444300
xor ecx, ecx
cmp eax, 0
je 0x428fc3
mov dword [esi + 4], edi
mov ecx, 1
cmp ecx, 0
je 0x42900c
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 0x428fff
xor eax, eax
mov edx, esi
mov dword [esp], edi
mov dword [esp + 4], 0
call fcn.00444300
xor ecx, ecx
cmp eax, 0
je 0x429007
mov dword [esi + 4], edi
mov ecx, 1
cmp ecx, 0
jne 0x429033
jmp 0x42900e
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x42901e
mov dword [eax + 0x1c], 0x10
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x429896
cmp dword [esp + 0x90], 0
je 0x4290b7
jmp 0x42903f
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 0x429076
xor eax, eax
mov edx, esi
mov dword [esp], edi
mov dword [esp + 4], 0
call fcn.00444300
xor ecx, ecx
cmp eax, 0
je 0x42907e
mov dword [esi + 4], edi
mov ecx, 1
cmp ecx, 0
setne al
test al, 1
jne 0x4290b1
jmp 0x42908a
jmp 0x42908c
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x42909c
mov dword [eax + 0x1c], 0x10
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x429896
jmp 0x4290b3
jmp 0x4290b5
jmp 0x4290b7
jmp 0x4290b9
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]
setne al
test al, 1
jne 0x4290fa
jmp 0x429121
jmp 0x4290fc
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x42910c
mov dword [eax + 0x1c], 0x14
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x429896
jmp 0x429123
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
jmp 0x429142
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x18]
cmp eax, dword [ecx + 0x10]
jae 0x42988a
cmp dword [esp + 0x60], 0x2e
jb 0x429166
mov eax, dword [esp + 0x24]
cmp dword [eax], 0x2014b50
je 0x42918b
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x429176
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x429855
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
je 0x4291ca
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 0x4295f1
cmp dword [esp + 0x54], 0
je 0x4295f1
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 0x429262
jmp 0x429258
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
jmp 0x42926c
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
jmp 0x42926c
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
sub edx, eax
sbb esi, ecx
jae 0x4292b0
jmp 0x429282
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 0x4292a4
jmp 0x42929a
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
jmp 0x4292ae
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
jmp 0x4292ae
jmp 0x4292c2
jmp 0x4292b2
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
jmp 0x4292c2
not eax
or eax, ecx
jne 0x4295f1
jmp 0x4292ce
mov eax, dword [esp + 0x54]
mov dword [esp + 0x50], eax
cmp dword [esp + 0x50], 0
je 0x4295d8
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x88]
add eax, 0x2e
mov edx, dword [esp + 0x54]
mov ecx, eax
xor ecx, 0xffffffff
mov esi, edx
xor esi, 0xffffffff
or ecx, esi
xor ecx, 0xffffffff
and ecx, 0xffffffff
or eax, edx
add ecx, eax
cmp ecx, dword [esp + 0x60]
jbe 0x42945c
jmp 0x429319
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.00455704
mov dword [esp + 0x34], eax
cmp dword [esp + 0x34], 0
sete al
test al, 1
jne 0x429337
jmp 0x42935e
jmp 0x429339
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x429349
mov dword [eax + 0x1c], 0x10
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x4295cf
jmp 0x429360
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
mov eax, ecx
and eax, 0x2e
add eax, eax
mov ebx, ecx
not ebx
or ecx, 0x2e
or ebx, 0xffffffd1
and ebx, ecx
add ebx, eax
adc esi, 0
mov edx, dword [esp + 0x88]
mov ecx, esi
xor ecx, 0x8f0be735
mov eax, ebx
xor eax, 0x7f652d5f
mov edi, ebx
and edi, 0x9ad2a0
and esi, 0x70f418ca
shld esi, ebx, 1
add edi, edi
sub edi, eax
sbb esi, ecx
add edi, edx
adc esi, 0
add edi, 0x7f652d5f
adc esi, 0x8f0be735
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x44]
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [esp + 0xd4]
cmp eax, dword [esp + 0x54]
setne al
test al, 1
jne 0x42941f
jmp 0x429452
jmp 0x429421
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00455665
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x42943d
mov dword [eax + 0x1c], 0x14
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x4295cf
mov eax, dword [esp + 0x34]
mov dword [esp + 0x5c], eax
jmp 0x42946e
mov eax, dword [esp + 0x24]
add eax, 0x2e
add eax, dword [esp + 0x88]
mov dword [esp + 0x5c], eax
jmp 0x429470
jmp 0x429472
jmp 0x429474
cmp dword [esp + 0x50], 4
jae 0x4294ac
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00455665
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x429497
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x429590
jmp 0x4294ae
mov eax, dword [esp + 0x5c]
movzx eax, word [eax]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x5c]
movzx eax, word [eax + 2]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x84]
sub eax, 0xabc0e61b
add eax, 4
sub eax, 0x543f19e5
cmp eax, dword [esp + 0x50]
seta al
test al, 1
jne 0x4294ec
jmp 0x42951c
jmp 0x4294ee
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00455665
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x42950a
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x429590
jmp 0x42951e
cmp dword [esp + 0xd8], 1
sete al
test al, 1
jne 0x42952f
jmp 0x429557
jmp 0x429531
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 0x429590
mov eax, dword [esp + 0x84]
mov ecx, eax
and ecx, 4
or eax, 4
add ecx, eax
add ecx, dword [esp + 0x5c]
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0x50]
sub eax, 4
mov ecx, dword [esp + 0x84]
xor edx, edx
sub edx, ecx
add eax, edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4295a1
jmp 0x42959a
sub eax, 5
je 0x4295b7
jmp 0x4295cd
jmp 0x4295a3
jmp 0x4295a5
cmp dword [esp + 0x50], 0
setne al
test al, 1
jne 0x429474
jmp 0x4295b7
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00455665
mov dword [esp + 0x1c], 0
jmp 0x4295cf
jmp 0x4295cf
cmp dword [esp + 0x1c], 0
jne 0x4295e4
jmp 0x4295d8
jmp 0x4295da
mov dword [esp + 0x1c], 0
jmp 0x4295e4
cmp dword [esp + 0x1c], 0
jne 0x429855
jmp 0x4295f1
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
not eax
or eax, ecx
je 0x429685
jmp 0x429605
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
not eax
or eax, ecx
je 0x429685
jmp 0x429615
mov eax, dword [esp + 0x24]
cmp dword [eax + 0xa], 0
jne 0x429639
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
jne 0x42965c
jmp 0x429639
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
or eax, ecx
je 0x429683
jmp 0x429647
jmp 0x429649
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
or eax, ecx
setne al
test al, 1
jne 0x429683
jmp 0x42965c
jmp 0x42965e
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x42966e
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x429855
jmp 0x429685
mov eax, dword [esp + 0x24]
movzx eax, word [eax + 0x22]
mov dword [esp + 0x8c], eax
cmp dword [esp + 0x8c], 0xffff
je 0x4296c1
jmp 0x4296a3
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0x64]
setne al
test al, 1
jne 0x4296b7
jmp 0x4296e6
cmp dword [esp + 0x8c], 1
je 0x4296e6
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x4296d1
mov dword [eax + 0x1c], 0xa
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x429855
jmp 0x4296e8
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
not eax
or eax, ecx
setne al
test al, 1
jne 0x4296fd
jmp 0x42974f
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 0x42974d
jmp 0x429728
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x429738
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x429855
jmp 0x42974f
jmp 0x429751
mov eax, dword [esp + 0x24]
movzx eax, word [eax + 8]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xdc]
mov ecx, eax
xor ecx, 0x2000
xor ecx, 0xffffffff
or eax, 0x2000
and eax, ecx
cmp eax, 0
setne al
test al, 1
jne 0x429785
jmp 0x4297ac
jmp 0x429787
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x429797
mov dword [eax + 0x1c], 5
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x429855
jmp 0x4297ae
mov eax, dword [esp + 0x24]
movzx ecx, word [eax + 0x1c]
xor ecx, 0xffffffff
sub ecx, 0xffffffff
mov eax, 0x2e
sub eax, ecx
mov ecx, dword [esp + 0x24]
movzx ecx, word [ecx + 0x1e]
add eax, ecx
mov ecx, dword [esp + 0x24]
movzx ecx, word [ecx + 0x20]
sub eax, 0x40260985
add eax, ecx
add eax, 0x40260985
mov dword [esp + 0xa4], eax
cmp eax, dword [esp + 0x60]
seta al
test al, 1
jne 0x4297f5
jmp 0x429817
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x429805
mov dword [eax + 0x1c], 9
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
jmp 0x429855
jmp 0x429819
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x60]
xor eax, 0xffffffff
add ecx, eax
sub ecx, 0x9198590d
add ecx, 1
add ecx, 0x9198590d
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0xa4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], 0
jmp 0x429855
cmp dword [esp + 0x1c], 0
jne 0x429894
jmp 0x42985e
jmp 0x429860
mov ecx, dword [esp + 0x58]
mov eax, ecx
and eax, 1
and eax, 0xfffffffd
shl eax, 1
add eax, 0
mov edx, ecx
xor edx, 0xffffffff
and edx, 1
and ecx, 0xfffffffe
or edx, ecx
add edx, eax
mov dword [esp + 0x58], edx
jmp 0x429142
mov dword [esp + 0x1c], 0
jmp 0x429896
jmp 0x429896
cmp dword [esp + 0x1c], 0
jne 0x4298c6
jmp 0x42989f
jmp 0x4298a1
jmp 0x4298a3
cmp dword [esp + 0x90], 0
je 0x4298b6
mov ecx, dword [esp + 0x18]
call fcn.00443bb0
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