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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xf8
mov eax, dword [0x4ad2c0]
mov esi, esp
xor eax, ebp
mov dword [esi + 0xf0], eax
mov eax, 0xf46745c9
jmp 0x406370
mov eax, dword [esi + 0x70]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
add ecx, dword [esi + 0x3c]
mov eax, dword [esi + 4]
push 0
push dword [eax]
call fcn.00410c60
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0xdc], eax
mov ecx, dword [esi + 0x24]
call fcn.00410e90
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x14]
mov eax, dword [0x4af3d0]
mov ebx, 0xffa90b0e
mov edi, 0xdf440f70
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xdf440f70
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4af3cc], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
nop
cmp eax, 0xf964cc3a
jle 0x4063d0
cmp eax, 0x4508bd34
jg 0x4064d0
cmp eax, 0x1c589a8d
jle 0x4065c8
cmp eax, 0x3474e52b
jle 0x4066fa
cmp eax, 0x3f733404
jg 0x406954
cmp eax, 0x3576ad59
jg 0x406d81
cmp eax, 0x3474e52c
je 0x40722c
cmp eax, 0x34974ee6
jne 0x406370
mov eax, 0xe3fd72c0
jmp 0x406370
cmp eax, 0xcb7127eb
jle 0x406560
cmp eax, 0xe36d4707
jle 0x406623
cmp eax, 0xeaa09151
jle 0x40677a
cmp eax, 0xeed59366
jg 0x40697f
cmp eax, 0xebd11d4b
jg 0x406dcb
cmp eax, 0xeaa09152
je 0x407239
cmp eax, 0xeb667dbb
jne 0x406370
mov eax, dword [esi]
mov edi, 0xa547cef9
mov eax, dword [eax]
mov ecx, dword [eax]
add eax, dword [ecx + 4]
mov ecx, dword [0x4af3c8]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
setne cl
cmp dword [0x4af3c4], 0xa
setge dl
mov ch, dl
or dl, cl
xor ch, cl
xor dl, 1
or dl, ch
mov ecx, 0x3ec80c5f
mov edx, 0xae7afc56
cmovne ecx, edx
mov edx, 0x3ec80c5f
cmovne edx, edi
mov edi, 0x561c11fe
cmp edi, 0x3ec80c5e
jle 0x4064a0
cmp edi, 0x3ec80c5f
je 0x4064b7
cmp edi, 0x561c11fe
je 0x4064be
cmp edi, 0x5e7dedf3
jne 0x406470
jmp 0x407243
cmp edi, 0xa547cef9
je 0x4064c2
cmp edi, 0xae7afc56
jne 0x406470
mov edi, 0x5e7dedf3
jmp 0x406470
mov edi, 0xa547cef9
jmp 0x406470
mov edi, edx
jmp 0x406470
mov edi, ecx
jmp 0x406470
cmp eax, 0x625f78f7
jle 0x406672
cmp eax, 0x7685eb11
jg 0x4067bc
cmp eax, 0x74b789af
jg 0x4069dc
cmp eax, 0x6c4a0c33
jg 0x406e02
cmp eax, 0x625f78f8
je 0x407278
cmp eax, 0x6bd22472
jne 0x406370
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x50]
mov dword [eax], ecx
mov ecx, dword [esi + 0x4c]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x24]
mov eax, dword [esi]
mov ecx, dword [esi + 0x24]
push dword [eax]
call fcn.0040fd30
mov eax, dword [esi + 0x24]
mov ecx, 0xa8742ba5
nop word [eax + eax]
cmp ecx, 0xa8742ba5
je 0x406555
cmp ecx, 0x4d895af2
jne 0x406540
jmp 0x407282
mov ecx, 0x4d895af2
jmp 0x406540
cmp eax, 0x9b036a79
jg 0x4066b9
cmp eax, 0x8fadb817
jg 0x4067f2
cmp eax, 0x8acdfc76
jle 0x406a1b
cmp eax, 0x8f4a0b33
jg 0x406ec6
cmp eax, 0x8acdfc77
je 0x40729e
cmp eax, 0x8de8cd7d
jne 0x406370
mov eax, dword [0x4af3d0]
mov edi, 0x416a0ccf
mov ebx, 0x4b0bef24
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x4b0bef24
jmp 0x407b47
cmp eax, 0x1224ee9f
jg 0x40685c
cmp eax, 0x38cfd94
jle 0x406a46
cmp eax, 0xb42de94
jg 0x406f02
cmp eax, 0x38cfd95
je 0x4072b4
cmp eax, 0x7d3d7f9
jne 0x406370
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
add ecx, 0xffffffff
adc eax, 0xffffffff
mov dword [esi + 0x90], ecx
mov dword [esi + 0x94], eax
mov eax, 0x74f4ebb8
jmp 0x406370
cmp eax, 0xd5b4e848
jg 0x4068a7
cmp eax, 0xd13134a3
jle 0x406a86
cmp eax, 0xd4dad645
jg 0x406f3e
cmp eax, 0xd13134a4
je 0x4072ca
cmp eax, 0xd3b60a82
jne 0x406370
mov dword [esi + 0x50], 0
mov eax, 0x6bd22472
mov dword [esi + 0x4c], 0
jmp 0x406370
cmp eax, 0x52f47ee4
jg 0x4068e8
cmp eax, 0x4b871bf8
jle 0x406ada
cmp eax, 0x4e14d29a
jg 0x406f5e
cmp eax, 0x4b871bf9
je 0x4072d6
cmp eax, 0x4c787d81
jne 0x406370
mov eax, dword [esi + 0x78]
mov eax, dword [esi + 0x7c]
mov eax, 0x2a52edbe
jmp 0x406370
cmp eax, 0xb5efa861
jg 0x40691e
cmp eax, 0xa6a76214
jle 0x406b05
cmp eax, 0xa98121b4
jg 0x406f7e
cmp eax, 0xa6a76215
je 0x4072e0
cmp eax, 0xa7f37fa0
jne 0x406370
mov eax, 0x820fc681
jmp 0x406370
cmp eax, 0x22cc93ce
jle 0x406b71
cmp eax, 0x2b2d3c29
jg 0x406faa
cmp eax, 0x22cc93cf
je 0x4072ff
cmp eax, 0x2a52edbe
jne 0x406370
mov edx, dword [0x4af3d0]
mov ecx, dword [0x4af3cc]
mov edi, 0x4c787d81
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x625f78f8
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
xor ecx, ecx
cmp ecx, dword [esi + 0x78]
mov ecx, 0
sbb ecx, dword [esi + 0x7c]
setl byte [esi + 0x2f]
jmp 0x406370
cmp eax, 0xe905d6ac
jle 0x406bca
cmp eax, 0xe9d9f304
jg 0x406fdf
cmp eax, 0xe905d6ad
je 0x40731a
cmp eax, 0xe90ffc40
jne 0x406370
cmp byte [esi + 0x2f], 0
mov eax, 0x52257dda
mov ecx, 0xb5efa862
cmovne eax, ecx
jmp 0x406370
cmp eax, 0x7bf40bcb
jle 0x406bf7
cmp eax, 0x7e77dfe4
jg 0x407028
cmp eax, 0x7bf40bcc
je 0x407340
cmp eax, 0x7d7a64f1
jne 0x406370
mov eax, 0x38cfd95
jmp 0x406370
cmp eax, 0x932037ea
jle 0x406c3e
cmp eax, 0x956c1592
jg 0x407048
cmp eax, 0x932037eb
je 0x40734a
cmp eax, 0x93c1c013
jne 0x406370
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
mov edx, dword [esi + 0x54]
mov eax, dword [edx + ecx + 0x20]
mov ecx, dword [edx + ecx + 0x24]
mov edx, 0xcbbf6d18
nop word cs:[eax + eax]
cmp edx, 0xcbbf6d18
je 0x406855
cmp edx, 0x7a156984
jne 0x406840
jmp 0x407357
mov edx, 0x7a156984
jmp 0x406840
cmp eax, 0x176d29e7
jle 0x406c78
cmp eax, 0x196dcbaa
jg 0x407074
cmp eax, 0x176d29e8
je 0x407379
cmp eax, 0x17930507
jne 0x406370
mov eax, dword [0x4af3d0]
mov ebx, 0xe9d9f305
mov edi, 0x7bf40bcc
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x7bf40bcc
jmp 0x40634e
cmp eax, 0xd8356564
jle 0x406cbf
cmp eax, 0xdf440f6f
jg 0x4070bd
cmp eax, 0xd8356565
je 0x40739f
cmp eax, 0xd96daaf5
jne 0x406370
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0xa8], eax
mov eax, 0x9f0ac809
jmp 0x406370
cmp eax, 0x5db455fd
jle 0x406d1a
cmp eax, 0x5f289b96
jg 0x407107
cmp eax, 0x5db455fe
je 0x406305
cmp eax, 0x5e4c7ad6
jne 0x406370
mov eax, 0x905735e5
jmp 0x406370
cmp eax, 0xbddd6658
jle 0x406d53
cmp eax, 0xc6f294ba
jg 0x407127
cmp eax, 0xbddd6659
je 0x4073c5
cmp eax, 0xbec5ade9
jne 0x406370
mov eax, 0xf964cc3b
jmp 0x406370
cmp eax, 0x416a0cce
jg 0x407187
cmp eax, 0x3f733405
je 0x407527
cmp eax, 0x3fc09ed3
jne 0x406370
mov eax, 0x8263208b
jmp 0x406370
cmp eax, 0xf84b29b9
jg 0x4071a9
cmp eax, 0xeed59367
je 0x407531
cmp eax, 0xf46745c9
jne 0x406370
push eax
mov eax, esp
mov dword [esi], eax
push eax
mov eax, esp
mov dword [esi + 4], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x20], eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x14], eax
push eax
push eax
mov eax, esp
mov dword [esi + 0x24], eax
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
mov dword [eax], ecx
mov eax, 0x5f289b97
jmp 0x406370
cmp eax, 0x74fce9c6
jg 0x4071d8
cmp eax, 0x74b789b0
je 0x40754d
cmp eax, 0x74f4ebb8
jne 0x406370
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x90]
mov edx, dword [esi + 0x94]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, 0x1b213537
jmp 0x406370
cmp eax, 0x820fc681
je 0x407573
cmp eax, 0x8263208b
je 0x4075b8
cmp eax, 0x8480f68f
jne 0x406370
mov eax, 0xf0d95e
jmp 0x406370
cmp eax, 0xf964cc3b
je 0x4075d7
cmp eax, 0xffa90b0e
je 0x4075ec
cmp eax, 0xf0d95e
jne 0x406370
mov eax, dword [0x4af3d0]
mov ebx, 0xb813c851
mov edi, 0x56c32db8
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x56c32db8
jmp 0x40634e
cmp eax, 0xcb7127ec
je 0x4075f6
cmp eax, 0xceb2e731
je 0x407610
cmp eax, 0xcff079f6
jne 0x406370
mov edx, dword [0x4af3d0]
mov ecx, dword [0x4af3cc]
mov edi, 0x4c787d81
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x2a52edbe
jmp 0x407801
cmp eax, 0x4508bd35
je 0x40764a
cmp eax, 0x492396a7
je 0x407669
cmp eax, 0x4b0bef24
jne 0x406370
mov eax, 0x8de8cd7d
jmp 0x406370
cmp eax, 0x9b036a7a
je 0x407673
cmp eax, 0x9f0ac809
je 0x407688
cmp eax, 0xa34495dd
jne 0x406370
mov edx, dword [0x4af3d0]
mov ecx, dword [0x4af3cc]
mov edi, 0x3474e52c
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x7efb3d96
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
cmp dword [esi + 0x64], 0
sete byte [esi + 0x2e]
jmp 0x406370
cmp eax, 0x1c589a8e
je 0x4076bc
cmp eax, 0x1e446ad3
je 0x4076c6
cmp eax, 0x1ec5ea70
jne 0x406370
mov eax, dword [esi]
mov edi, 0x5f325e17
mov ebx, 0xe40e58a2
mov eax, dword [eax]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x5c]
mov eax, dword [eax]
mov dword [esi + 0xb0], eax
mov eax, dword [0x4af3d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xe40e58a2
jmp 0x407b47
cmp eax, 0xe36d4708
je 0x407711
cmp eax, 0xe3fd72c0
je 0x40773b
cmp eax, 0xe40e58a2
jne 0x406370
mov eax, dword [esi]
mov eax, 0x1ec5ea70
jmp 0x406370
cmp eax, 0x7685eb12
je 0x407745
cmp eax, 0x77cf3c43
je 0x40775f
cmp eax, 0x7b60850e
jne 0x406370
mov eax, dword [0x4af3d0]
mov ebx, 0x1ec5ea70
mov edi, 0xe40e58a2
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xe40e58a2
jmp 0x406356
cmp eax, 0x8fadb818
je 0x407780
cmp eax, 0x905735e5
je 0x4077a2
cmp eax, 0x9101cd08
jne 0x406370
mov eax, dword [esi + 0xd4]
add eax, 4
mov dword [esi + 0xd8], eax
mov eax, 0x7e77dfe5
jmp 0x406370
cmp eax, 0x1224eea0
je 0x4077c8
cmp eax, 0x129bbc29
je 0x407816
cmp eax, 0x14be1603
jne 0x406370
mov eax, dword [0x4af3d0]
mov ebx, 0x905735e5
mov edi, 0x5e4c7ad6
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x5e4c7ad6
jmp 0x406356
cmp eax, 0xd5b4e849
je 0x40782e
cmp eax, 0xd6af93cd
je 0x407843
cmp eax, 0xd76415ff
jne 0x406370
mov eax, dword [esi + 0x14]
mov edi, 0x8480f68f
mov ebx, 0x932037eb
mov ecx, dword [eax]
mov eax, dword [eax + 4]
add ecx, 0xffffffff
adc eax, 0xffffffff
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], eax
mov eax, dword [0x4af3d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x932037eb
jmp 0x407b47
cmp eax, 0x52f47ee5
je 0x40784d
cmp eax, 0x5446e325
je 0x4079bc
cmp eax, 0x56c32db8
jne 0x406370
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x44]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, 0xb813c851
jmp 0x406370
cmp eax, 0xb5efa862
je 0x4079c6
cmp eax, 0xb813c851
je 0x4079e5
cmp eax, 0xba240cc0
jne 0x406370
mov eax, dword [esi + 4]
mov eax, 0x1e446ad3
jmp 0x406370
cmp eax, 0x3576ad5a
je 0x407a1a
cmp eax, 0x37310fd3
jne 0x406370
mov edx, dword [0x4af3d0]
mov ecx, dword [0x4af3cc]
mov edi, 0xd76415ff
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x932037eb
jmp 0x4075a2
cmp eax, 0xebd11d4c
je 0x407a39
cmp eax, 0xed2d9b55
jne 0x406370
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 4]
or eax, 4
mov dword [ecx], eax
mov eax, 0x1224eea0
jmp 0x406370
cmp eax, 0x6c4a0c34
je 0x407a51
cmp eax, 0x6cd21546
jne 0x406370
mov eax, dword [esi + 0xb8]
mov edx, dword [0x4af3c8]
mov edi, 0xa547cef9
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
cmp dword [0x4af3c4], 0xa
setge dh
setl bl
or dh, cl
xor bl, dl
mov ecx, 0x3ec80c5f
not dh
or dh, bl
test dh, 1
mov edx, 0xae7afc56
cmovne ecx, edx
mov edx, 0x3ec80c5f
cmovne edx, edi
mov edi, 0x561c11fe
nop word [eax + eax]
cmp edi, 0x3ec80c5e
jle 0x406ea0
cmp edi, 0x3ec80c5f
je 0x406eb7
cmp edi, 0x561c11fe
je 0x406ebe
cmp edi, 0x5e7dedf3
jne 0x406e70
jmp 0x407a5b
cmp edi, 0xa547cef9
je 0x406ec2
cmp edi, 0xae7afc56
jne 0x406e70
mov edi, 0x5e7dedf3
jmp 0x406e70
mov edi, 0xa547cef9
jmp 0x406e70
mov edi, edx
jmp 0x406e70
mov edi, ecx
jmp 0x406e70
cmp eax, 0x8f4a0b34
je 0x407a90
cmp eax, 0x8f7532ad
jne 0x406370
mov eax, dword [0x4af3d0]
mov edi, 0xe1d65969
mov ebx, 0xd6af93cd
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xd6af93cd
jmp 0x407b47
cmp eax, 0xb42de95
je 0x407a9d
cmp eax, 0x108332a3
jne 0x406370
mov eax, dword [0x4af3d0]
mov ebx, 0xc9bce0ff
mov edi, 0x42ebc151
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x42ebc151
jmp 0x406356
cmp eax, 0xd4dad646
je 0x407aaf
cmp eax, 0xd58ee2fd
jne 0x406370
mov eax, 0x37310fd3
jmp 0x406370
cmp eax, 0x4e14d29b
je 0x407ab9
cmp eax, 0x52257dda
jne 0x406370
mov eax, 0xeed59367
jmp 0x406370
cmp eax, 0xa98121b5
je 0x407ae5
cmp eax, 0xaf987cc5
jne 0x406370
cmp byte [esi + 0x2e], 0
mov eax, 0xeed59367
mov ecx, 0xd4dad646
cmovne eax, ecx
jmp 0x406370
cmp eax, 0x2b2d3c2a
je 0x407b1c
cmp eax, 0x2c62be77
jne 0x406370
mov eax, dword [0x4af3d0]
mov ebx, 0xceb2e731
mov edi, 0x7583dbac
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x7583dbac
jmp 0x40634e
cmp eax, 0xe9d9f305
je 0x407b26
cmp eax, 0xea3bb6f6
jne 0x406370
mov eax, dword [esi]
mov ebx, 0x2b2d3c2a
mov edi, 0xd13134a4
mov eax, dword [eax]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x70], eax
mov eax, dword [0x4af3d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xd13134a4
jmp 0x406356
cmp eax, 0x7e77dfe5
je 0x407b64
cmp eax, 0x7efb3d96
jne 0x406370
mov eax, 0xaf987cc5
jmp 0x406370
cmp eax, 0x956c1593
je 0x407b82
cmp eax, 0x957e5f63
jne 0x406370
cmp byte [esi + 0x2c], 0
mov eax, 0xbec5ade9
mov ecx, 0x7b60850e
cmovne eax, ecx
jmp 0x406370
cmp eax, 0x196dcbab
je 0x407b9e
cmp eax, 0x1b213537
jne 0x406370
mov edx, dword [0x4af3d0]
mov ecx, dword [0x4af3cc]
mov edi, 0x4b0bef24
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x8de8cd7d
jmp 0x407801
cmp eax, 0xdf440f70
je 0x407ce8
cmp eax, 0xe1d65969
jne 0x406370
mov edx, dword [0x4af3d0]
mov ecx, dword [0x4af3cc]
mov edi, 0x8acdfc77
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xd6af93cd
jmp 0x4075a2
cmp eax, 0x5f289b97
je 0x407d19
cmp eax, 0x5f325e17
jne 0x406370
mov eax, 0xbddd6659
jmp 0x406370
cmp eax, 0xc6f294bb
je 0x407dd7
cmp eax, 0xc9bce0ff
jne 0x406370
mov edx, dword [0x4af3d0]
mov ecx, dword [0x4af3cc]
mov edi, 0x42ebc151
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x1c589a8e
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi]
cmovge eax, edi
mov ecx, dword [ecx]
mov dword [esi + 0x54], ecx
jmp 0x406370
cmp eax, 0x416a0ccf
je 0x407de1
cmp eax, 0x42ebc151
jne 0x406370
mov eax, dword [esi]
mov eax, 0xc9bce0ff
jmp 0x406370
cmp eax, 0xf84b29ba
je 0x407deb
cmp eax, 0xf873e02a
jne 0x406370
mov eax, dword [esi + 0x14]
vmovsd xmm0, qword [eax]
mov eax, 0x77cf3c43
vmovsd qword [esi + 0xe0], xmm0
jmp 0x406370
cmp eax, 0x7583dbac
jne 0x407f5d
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x28]
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x38]
mov eax, dword [ecx + eax + 0x14]
mov ecx, 0x97dc2d60
nop word cs:[eax + eax]
cmp ecx, 0x97dc2d60
je 0x407225
cmp ecx, 0x12cfa0a4
jne 0x407210
jmp 0x407df5
mov ecx, 0x12cfa0a4
jmp 0x407210
mov eax, dword [esi + 0x64]
mov eax, 0xa34495dd
jmp 0x406370
mov eax, 0xebd11d4c
jmp 0x406370
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
movsx eax, byte [eax + 0x40]
mov ecx, dword [esi + 0xcc]
push eax
call fcn.00410630
push eax
push 0xffffffffffffffff
call fcn.004105d0
add esp, 8
test al, al
mov eax, 0xd58ee2fd
mov ecx, 0xe905d6ad
cmovne eax, ecx
jmp 0x406370
mov eax, 0xe90ffc40
jmp 0x406370
mov dword [esi + 8], eax
mov ecx, 0xd96daaf5
mov eax, dword [esi + 8]
cmp byte [eax + 4], 0
mov eax, 0x956c1593
cmove eax, ecx
jmp 0x406370
cmp byte [esi + 0x2d], 0
mov eax, 0xb42de95
mov ecx, 0xcb7127ec
cmovne eax, ecx
jmp 0x406370
mov eax, dword [esi + 0x14]
vmovsd xmm0, qword [eax]
mov eax, 0xcff079f6
vmovsd qword [esi + 0x78], xmm0
jmp 0x406370
mov eax, dword [esi]
mov eax, 0xea3bb6f6
jmp 0x406370
mov eax, 0x8fadb818
jmp 0x406370
mov eax, dword [0x4af3d0]
mov edi, 0x5db455fe
mov ebx, 0xdf440f70
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xdf440f70
jmp 0x407a0d
mov eax, dword [esi + 0xa0]
mov eax, dword [eax]
add eax, 4
mov dword [esi + 0xa4], eax
mov eax, 0xa98121b5
jmp 0x406370
mov eax, dword [0x4af3d0]
mov ebx, 0xe36d4708
mov edi, 0x8f4a0b34
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x8f4a0b34
jmp 0x406356
mov eax, 0xe9d9f305
jmp 0x406370
mov eax, dword [esi + 0x14]
mov eax, 0xd76415ff
jmp 0x406370
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dword [esi + 0x84], eax
mov dword [esi + 0x80], ecx
mov eax, 0xd8356565
jmp 0x406370
mov eax, dword [0x4af3d0]
mov ebx, 0xa34495dd
mov edi, 0x3474e52c
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x3474e52c
jmp 0x406356
mov eax, dword [esi + 0x20]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp ecx, dword [esi + 0x80]
mov ecx, 0x7685eb12
sbb eax, dword [esi + 0x84]
mov eax, 0xd3b60a82
cmovl eax, ecx
jmp 0x406370
mov eax, dword [esi + 0xb0]
mov edi, 0xeddfba80
mov ebx, 0xeddfba80
mov eax, dword [eax + 4]
add eax, dword [esi + 0x5c]
mov dword [esi + 0x18], eax
mov eax, dword [0x4af3c0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete cl
cmp dword [0x4af3bc], 0xa
setge dl
setl ah
or dl, al
xor ah, cl
mov ecx, 0xdddaf819
xor dl, 1
or dl, ah
mov edx, 0xdddaf819
mov eax, 0xcd53e346
cmovne edx, eax
mov eax, 0x88f2b5b2
cmovne ecx, eax
mov eax, 0x31734fc4
cmovne edi, eax
mov eax, 0x9d9c5b6f
cmovne ebx, eax
mov eax, 0xbabae24b
mov dword [esi + 0x1c], edi
jmp 0x407450
mov eax, dword [esi + 0x18]
mov eax, 0x9d9c5b6f
nop dword [eax + eax]
mov edi, eax
cmp eax, 0xcd53e345
jg 0x407490
cmp edi, 0xa44b4763
jg 0x4074c0
mov eax, edx
cmp edi, 0x88f2b5b2
je 0x407450
mov eax, edi
cmp edi, 0x9d9c5b6f
jne 0x407450
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x38]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x1c]
jmp 0x407450
cmp edi, 0xeddfba7f
jle 0x4074df
cmp edi, 0xeddfba80
je 0x407440
mov eax, edi
cmp edi, 0x31734fc4
jne 0x407450
mov eax, 0xa44b4764
jmp 0x407450
mov eax, ecx
cmp edi, 0xa44b4764
je 0x407450
mov eax, edi
cmp edi, 0xbabae24b
jne 0x407450
mov eax, ebx
jmp 0x407450
cmp edi, 0xdddaf819
jne 0x4074f1
mov eax, 0x88f2b5b2
jmp 0x407450
mov eax, edi
cmp edi, 0xcd53e346
jne 0x407450
mov eax, dword [esi + 0x34]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xb4], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov ecx, dword [eax]
add eax, dword [ecx + 4]
mov dword [esi + 0xb8], eax
mov eax, 0x6cd21546
jmp 0x406370
mov eax, 0xb42de95
jmp 0x406370
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x6c]
mov eax, dword [eax]
mov dword [esi + 0xd4], eax
mov eax, 0x9101cd08
jmp 0x406370
mov eax, dword [0x4af3d0]
mov ebx, 0x1224eea0
mov edi, 0xed2d9b55
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xed2d9b55
jmp 0x406356
mov edx, dword [0x4af3d0]
mov ecx, dword [0x4af3cc]
mov edi, 0xf84b29ba
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xa7f37fa0
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x406370
mov eax, dword [0x4af3d0]
mov edi, 0xea3bb6f6
mov ebx, 0xd13134a4
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xd13134a4
jmp 0x407a0d
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0xbc], eax
mov eax, 0x9b036a7a
jmp 0x406370
mov eax, 0x74fce9c7
jmp 0x406370
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0xc0], eax
mov eax, 0x52f47ee5
jmp 0x406370
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x38]
mov eax, dword [ecx + eax + 0x14]
mov dword [esi + 0x1c], eax
mov eax, 0x97dc2d60
nop word cs:[eax + eax]
cmp eax, 0x97dc2d60
je 0x407643
cmp eax, 0x12cfa0a4
jne 0x407630
jmp 0x407e05
mov eax, 0x12cfa0a4
jmp 0x407630
mov eax, dword [0x4af3d0]
mov ebx, 0x820fc681
mov edi, 0xa7f37fa0
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xa7f37fa0
jmp 0x40634e
mov eax, 0x7d3d7f9
jmp 0x406370
cmp dword [esi + 0xbc], 0
mov eax, 0x8f7532ad
sete byte [esi + 0x2d]
jmp 0x406370
mov eax, dword [esi + 0xa8]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x58cee2ea
and eax, 4
and ecx, 0xa7311d15
or edx, ecx
xor edx, 0xa7311d11
or eax, edx
mov edx, dword [esi + 4]
mov dword [edx], eax
mov eax, 0x14be1603
jmp 0x406370
mov eax, 0x93c1c013
jmp 0x406370
mov edx, dword [0x4af3d0]
mov ecx, dword [0x4af3cc]
mov edi, 0xba240cc0
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xc6f294bb
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 4]
cmovge eax, edi
mov ecx, dword [ecx]
mov dword [esi + 0x30], ecx
jmp 0x406370
mov eax, dword [esi + 4]
mov edi, 0xeaa09152
mov ebx, 0x8f4a0b34
mov eax, dword [eax]
mov dword [esi + 0xd0], eax
mov eax, dword [0x4af3d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x8f4a0b34
jmp 0x407a0d
mov eax, 0xbec5ade9
jmp 0x406370
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x58]
mov dword [esi + 0xa0], eax
mov eax, 0x22cc93cf
jmp 0x406370
xor eax, eax
cmp eax, dword [esi + 0xe0]
mov eax, 0
sbb eax, dword [esi + 0xe4]
mov eax, 0x957e5f63
setl byte [esi + 0x2c]
jmp 0x406370
mov eax, dword [esi + 0xac]
mov ecx, 0xf964cc3b
not eax
or eax, 0xfffffe3f
cmp eax, 0xffffffbf
mov eax, 0x4508bd35
cmove eax, ecx
jmp 0x406370
mov eax, dword [0x4af3d0]
mov edi, 0x3fc09ed3
mov ebx, 0x5e4c7ad6
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x5e4c7ad6
jmp 0x407b47
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 4]
mov edi, 0xed2d9b55
or eax, 4
mov dword [ecx], eax
mov edx, dword [0x4af3d0]
mov ecx, dword [0x4af3cc]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x34974ee6
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x406370
mov eax, dword [esi + 0xc4]
mov ecx, dword [esi + 4]
or eax, 4
mov dword [ecx], eax
mov eax, 0x3f733405
jmp 0x406370
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0xc4], eax
mov eax, 0x129bbc29
jmp 0x406370
mov eax, 0xe1d65969
jmp 0x406370
mov eax, dword [esi + 0xc0]
mov edi, 0xeddfba80
mov ebx, 0xeddfba80
mov eax, dword [eax]
mov eax, dword [eax + 4]
add eax, dword [esi + 0x60]
mov dword [esi + 0x18], eax
mov eax, dword [0x4af3c0]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne al
cmp dword [0x4af3bc], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0xcd53e346
or cl, dl
mov edx, 0xdddaf819
mov ecx, 0xdddaf819
cmovne edx, eax
mov eax, 0x88f2b5b2
cmovne ecx, eax
mov eax, 0x31734fc4
cmovne edi, eax
mov eax, 0x9d9c5b6f
cmovne ebx, eax
mov eax, 0xbabae24b
mov dword [esi + 0x1c], edi
jmp 0x4078d0
mov eax, dword [esi + 0x18]
mov eax, 0x9d9c5b6f
nop
mov edi, eax
cmp eax, 0xcd53e345
jg 0x407910
cmp edi, 0xa44b4763
jg 0x407940
mov eax, edx
cmp edi, 0x88f2b5b2
je 0x4078d0
mov eax, edi
cmp edi, 0x9d9c5b6f
jne 0x4078d0
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x38]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x1c]
jmp 0x4078d0
cmp edi, 0xeddfba7f
jle 0x40795f
cmp edi, 0xeddfba80
je 0x4078c7
mov eax, edi
cmp edi, 0x31734fc4
jne 0x4078d0
mov eax, 0xa44b4764
jmp 0x4078d0
mov eax, ecx
cmp edi, 0xa44b4764
je 0x4078d0
mov eax, edi
cmp edi, 0xbabae24b
jne 0x4078d0
mov eax, ebx
jmp 0x4078d0
cmp edi, 0xdddaf819
jne 0x407971
mov eax, 0x88f2b5b2
jmp 0x4078d0
mov eax, edi
cmp edi, 0xcd53e346
jne 0x4078d0
mov eax, dword [esi + 0x34]
mov edi, 0xe1b60df8
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov edx, dword [esi + 0x20]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
nop word cs:[eax + eax]
cmp edi, 0xe1b60df8
je 0x4079b5
cmp edi, 0x1a87853e
jne 0x4079a0
jmp 0x407e57
mov edi, 0x1a87853e
jmp 0x4079a0
mov eax, 0x52257dda
jmp 0x406370
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0xc8], eax
mov eax, 0x196dcbab
jmp 0x406370
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x44]
mov edi, 0x6c4a0c34
mov ebx, 0x56c32db8
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [0x4af3d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x56c32db8
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x407b47
mov eax, dword [0x4af3d0]
mov ebx, 0x1e446ad3
mov edi, 0xba240cc0
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xba240cc0
jmp 0x40634e
mov eax, dword [esi + 0xd0]
mov ecx, dword [esi + 4]
or eax, 4
mov dword [ecx], eax
mov eax, 0x17930507
jmp 0x406370
mov eax, 0x7d7a64f1
jmp 0x406370
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
movsx eax, byte [eax + 0x40]
mov ecx, dword [esi + 0xb4]
push eax
call fcn.00410630
push eax
push 0xffffffffffffffff
call fcn.004105d0
add esp, 8
test al, al
mov eax, 0x492396a7
mov ecx, 0x3576ad5a
cmovne eax, ecx
jmp 0x406370
mov eax, dword [esi + 4]
mov eax, 0xe36d4708
jmp 0x406370
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0x64], eax
mov eax, 0x176d29e8
jmp 0x406370
mov eax, 0x38cfd95
jmp 0x406370
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x9c]
mov edx, 0xb42de95
xor ecx, dword [esi + 0xec]
xor eax, dword [esi + 0xe8]
or eax, ecx
mov eax, 0xd5b4e849
cmove eax, edx
jmp 0x406370
mov eax, dword [esi + 0xa4]
mov ecx, dword [eax]
mov edx, dword [esi + 0x58]
mov eax, dword [edx + ecx + 0x20]
mov ecx, dword [edx + ecx + 0x24]
mov edx, 0xcbbf6d18
nop dword [eax]
cmp edx, 0xcbbf6d18
je 0x407b15
cmp edx, 0x7a156984
jne 0x407b00
jmp 0x407ea1
mov edx, 0x7a156984
jmp 0x407b00
mov eax, 0xa6a76215
jmp 0x406370
mov eax, dword [0x4af3d0]
mov edi, 0x5446e325
mov ebx, 0x7bf40bcc
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x7bf40bcc
sete cl
cmove eax, edi
cmp dword [0x4af3cc], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x406370
mov eax, dword [esi + 0xd8]
mov ecx, dword [eax]
add ecx, dword [esi + 0x6c]
push 0
push 0
call fcn.004109e0
mov eax, 0x8263208b
jmp 0x406370
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x38]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x28], eax
mov eax, 0x2c62be77
jmp 0x406370
mov eax, dword [esi + 0x68]
mov edx, 0xdddaf819
mov edi, 0xeddfba80
mov ebx, 0xeddfba80
add eax, dword [esi + 0xc8]
mov dword [esi + 0x18], eax
mov eax, dword [0x4af3c0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4af3bc], 0xa
setl cl
or cl, al
mov eax, 0xcd53e346
mov ecx, 0xdddaf819
cmovne edx, eax
mov eax, 0x88f2b5b2
cmovne ecx, eax
mov eax, 0x31734fc4
cmovne edi, eax
mov eax, 0x9d9c5b6f
cmovne ebx, eax
mov eax, 0xbabae24b
mov dword [esi + 0x1c], edi
jmp 0x407c20
mov eax, dword [esi + 0x18]
mov eax, 0x9d9c5b6f
nop word cs:[eax + eax]
mov edi, eax
cmp eax, 0xcd53e345
jg 0x407c60
cmp edi, 0xa44b4763
jg 0x407c90
mov eax, edx
cmp edi, 0x88f2b5b2
je 0x407c20
mov eax, edi
cmp edi, 0x9d9c5b6f
jne 0x407c20
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x38]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x1c]
jmp 0x407c20
cmp edi, 0xeddfba7f
jle 0x407caf
cmp edi, 0xeddfba80
je 0x407c0a
mov eax, edi
cmp edi, 0x31734fc4
jne 0x407c20
mov eax, 0xa44b4764
jmp 0x407c20
mov eax, ecx
cmp edi, 0xa44b4764
je 0x407c20
mov eax, edi
cmp edi, 0xbabae24b
jne 0x407c20
mov eax, ebx
jmp 0x407c20
cmp edi, 0xdddaf819
jne 0x407cc1
mov eax, 0x88f2b5b2
jmp 0x407c20
mov eax, edi
cmp edi, 0xcd53e346
jne 0x407c20
mov eax, dword [esi + 0x34]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xcc], eax
mov eax, 0xeb667dbb
jmp 0x406370
mov eax, dword [esi + 0x70]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
add ecx, dword [esi + 0x3c]
mov eax, dword [esi + 4]
push 0
push dword [eax]
call fcn.00410c60
mov eax, dword [esi]
mov ecx, dword [esi + 0x24]
call fcn.00410e90
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x14]
mov eax, 0x5db455fe
jmp 0x406370
mov eax, dword [esi + 4]
mov eax, dword [esi + 4]
mov edi, 0x4b0794c7
mov ebx, 0x4b0794c7
mov dword [eax], 0
mov eax, dword [esi + 0x20]
mov eax, dword [0x4af400]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete cl
cmp dword [0x4af3fc], 0xa
setge dl
setl ah
or dl, al
xor ah, cl
mov ecx, 0x69848bb5
xor dl, 1
or dl, ah
mov eax, 0xe011bea4
cmovne edi, eax
mov eax, 0x165fe54c
cmovne ebx, eax
nop word cs:[eax + eax]
cmp ecx, 0x165fe54b
jle 0x407db0
cmp ecx, 0x69848bb5
je 0x407dc5
cmp ecx, 0x4b0794c7
je 0x407dc9
cmp ecx, 0x165fe54c
jne 0x407d80
push dword [ebp + 0xc]
call fcn.0043e6e0
add esp, 4
mov ecx, edi
jmp 0x407d80
cmp ecx, 0xe011bea4
je 0x407dd0
cmp ecx, 0xf78ce71c
jne 0x407d80
jmp 0x407eef
mov ecx, ebx
jmp 0x407d80
mov ecx, 0x165fe54c
jmp 0x407d80
mov ecx, 0xf78ce71c
jmp 0x407d80
mov eax, 0x74b789b0
jmp 0x406370
mov eax, 0xf873e02a
jmp 0x406370
mov eax, 0xf873e02a
jmp 0x406370
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov eax, 0xceb2e731
jmp 0x406370
mov edi, dword [0x4af3d0]
mov edx, dword [0x4af3cc]
mov ecx, 0x4b871bf9
lea eax, [edi + 1]
imul eax, edi
mov edi, eax
xor edi, 0xfffffffe
test edi, eax
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x7583dbac
cmovne ebx, ecx
test edi, eax
mov eax, ebx
cmove eax, ecx
mov ecx, dword [esi + 0x1c]
cmp edx, 0xa
cmovge eax, ebx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0xac], ecx
jmp 0x406370
mov dword [esi + 0x74], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
mov ecx, dword [esi + 0x74]
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 0x18]
call eax
mov dword [esi + 0x9c], edx
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0x20]
vmovsd xmm0, qword [eax]
mov eax, 0x4e14d29b
vmovsd qword [esi + 0xe8], xmm0
jmp 0x406370
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov ebx, 0xea04971a
mov edi, 0xf5bce742
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x20]
sub ecx, ebx
sbb eax, edi
sub ecx, dword [edx]
sbb eax, dword [edx + 4]
add ecx, ebx
mov dword [esi + 0x88], ecx
adc eax, edi
mov dword [esi + 0x8c], eax
mov eax, 0x6bd22472
mov ecx, dword [esi + 0x88]
mov dword [esi + 0x50], ecx
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0x4c], ecx
jmp 0x406370
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x20]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov eax, dword [esi + 0x14]
mov eax, dword [esi]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
mov eax, dword [ecx + edx + 0x20]
mov ecx, dword [ecx + edx + 0x24]
mov edx, 0xcbbf6d18
nop word [eax + eax]
cmp edx, 0xcbbf6d18
je 0x407f32
cmp edx, 0x7a156984
jne 0x407f20
jmp 0x407f39
mov edx, 0x7a156984
jmp 0x407f20
mov dword [esi + 0xc], ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
cmp ecx, 1
mov ecx, 0xd3b60a82
sbb eax, 0
mov eax, 0x108332a3
cmovl eax, ecx
jmp 0x406370
cmp eax, 0x74fce9c7
jne 0x406370
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 4]
mov edi, dword [esi + 0xdc]
mov ecx, dword [esi + 0xf0]
xor ecx, ebp
call fcn.00437ee0
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret