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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xf0
mov eax, dword [0x4822c0]
mov ecx, 0xde8b95bd
mov esi, esp
xor eax, ebp
mov dword [esi + 0xe8], eax
jmp 0x4058b0
mov eax, dword [0x4843c0]
mov edi, 0x4e491efd
mov ebx, 0x7a079455
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x7a079455
sete al
cmove ecx, edi
cmp dword [0x4843bc], 0xa
setl dl
cmovge ecx, ebx
xor dl, al
cmovne ecx, edi
nop
cmp ecx, 0x38d5642
jle 0x405920
cmp ecx, 0x46796d90
jg 0x4059e0
cmp ecx, 0x2805637c
jle 0x405aa2
cmp ecx, 0x3cc3b016
jg 0x405bff
cmp ecx, 0x2bd5f95b
jg 0x405e2f
cmp ecx, 0x2906f52b
jg 0x406299
cmp ecx, 0x2805637d
je 0x406d9d
cmp ecx, 0x28fa3633
jne 0x4058b0
mov eax, dword [esi + 0xc]
mov ecx, 0xcbcdce72
jmp 0x4058b0
cmp ecx, 0xc1e59127
jle 0x405a50
cmp ecx, 0xe23c2a91
jle 0x405b05
cmp ecx, 0xf80ce980
jg 0x405c4f
cmp ecx, 0xee9e506f
jg 0x405e6e
cmp ecx, 0xe8819b9d
jg 0x4063f6
cmp ecx, 0xe23c2a92
je 0x406dc3
cmp ecx, 0xe717e490
jne 0x4058b0
push eax
mov eax, esp
mov dword [esi + 4], eax
push eax
mov eax, esp
mov dword [esi], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x28], eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0xc], eax
push eax
push eax
mov eax, esp
mov dword [esi + 0x3c], eax
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 4]
mov dword [eax], ecx
mov eax, dword [esi]
mov eax, dword [esi]
mov dword [eax], 0
mov eax, dword [esi + 0x28]
mov eax, 0x13fbda74
nop dword [eax]
cmp eax, 0x13fbda74
je 0x4059d3
cmp eax, 0xf08e674b
jne 0x4059c0
jmp 0x406de0
mov eax, 0xf08e674b
jmp 0x4059c0
cmp ecx, 0x64593d24
jle 0x405b73
cmp ecx, 0x6bd5ff4c
jg 0x405c89
cmp ecx, 0x69c9bd0f
jg 0x405e9c
cmp ecx, 0x66c3213d
jg 0x406441
cmp ecx, 0x64593d25
je 0x406e34
cmp ecx, 0x64a02a8f
jne 0x4058b0
mov eax, dword [0x4843c0]
mov edi, 0x70a2bf92
mov ebx, 0x262aae54
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x262aae54
jmp 0x405897
cmp ecx, 0xa979f628
jle 0x405bb9
cmp ecx, 0xb12f775d
jle 0x405ce0
cmp ecx, 0xb7451051
jg 0x405eca
cmp ecx, 0xb6158e47
jg 0x4065cb
cmp ecx, 0xb12f775e
je 0x405875
cmp ecx, 0xb285cbf8
jne 0x4058b0
mov ecx, 0x2bd5f95c
jmp 0x4058b0
cmp ecx, 0x12a616b0
jle 0x405d27
cmp ecx, 0x1e3bea37
jg 0x405f71
cmp ecx, 0x16be7d9e
jg 0x406616
cmp ecx, 0x12a616b1
je 0x406e5e
cmp ecx, 0x12d44d52
jne 0x4058b0
mov eax, dword [0x4843c0]
mov edi, 0x3f2fc8af
mov ebx, 0xad6b02b7
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xad6b02b7
jmp 0x405897
cmp ecx, 0xd5ffbb53
jle 0x405d75
cmp ecx, 0xdb7932c3
jg 0x405f9f
cmp ecx, 0xd7570734
jg 0x406654
cmp ecx, 0xd5ffbb54
je 0x406e68
cmp ecx, 0xd73ec88e
jne 0x4058b0
mov edx, dword [0x4843c0]
mov eax, dword [0x4843bc]
mov edi, 0x38e1f4e7
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x7ade41c6
jmp 0x407467
cmp ecx, 0x5423df10
jle 0x405daf
cmp ecx, 0x5943037c
jg 0x406012
cmp ecx, 0x56bd16a2
jg 0x406682
cmp ecx, 0x5423df11
je 0x406e8c
cmp ecx, 0x54d25261
jne 0x4058b0
mov ecx, 0xf8408888
jmp 0x4058b0
cmp ecx, 0x8dc82371
jle 0x405df5
cmp ecx, 0xa3a4d2f6
jg 0x406040
cmp ecx, 0x9bdb64f5
jg 0x4066b6
cmp ecx, 0x8dc82372
je 0x406ebe
cmp ecx, 0x9b29f1fb
jne 0x4058b0
mov ecx, 0xd73ec88e
jmp 0x4058b0
cmp ecx, 0x3fcb7d62
jg 0x40607a
cmp ecx, 0x3f23c8c0
jg 0x4066da
cmp ecx, 0x3cc3b017
je 0x406ecb
cmp ecx, 0x3cdf272f
jne 0x4058b0
mov eax, dword [esi + 4]
mov ecx, 0x73c9b0d8
mov eax, dword [eax]
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0xd0], eax
jmp 0x4058b0
cmp ecx, 0xfc42baff
jg 0x4060c4
cmp ecx, 0xf8d3bb31
jg 0x406747
cmp ecx, 0xf80ce981
je 0x406ef1
cmp ecx, 0xf8408888
jne 0x4058b0
mov ecx, 0x616f2ecd
jmp 0x4058b0
cmp ecx, 0x75895847
jg 0x4060f2
cmp ecx, 0x712b2617
jg 0x406774
cmp ecx, 0x6bd5ff4d
je 0x406f17
cmp ecx, 0x70a2bf92
jne 0x4058b0
mov eax, dword [0x4843c0]
mov ebx, 0x3fcb7d63
mov edi, 0x262aae54
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x262aae54
jmp 0x407690
cmp ecx, 0xaf42cdf7
jg 0x406120
cmp ecx, 0xad3d6020
jg 0x4067a2
cmp ecx, 0xa979f629
je 0x406f25
cmp ecx, 0xab888cc2
jne 0x4058b0
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi]
or eax, 4
mov dword [ecx], eax
mov ecx, 0xb02d58b1
jmp 0x4058b0
cmp ecx, 0x8c2d8ad
jle 0x40617e
cmp ecx, 0xbaa3ecc
jg 0x4067ca
cmp ecx, 0x8c2d8ae
je 0x406f2f
cmp ecx, 0xb135a11
jne 0x4058b0
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x8c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, 0xd33687ba
jmp 0x4058b0
cmp ecx, 0xcbcdce71
jle 0x4061e7
cmp ecx, 0xd33687b9
jg 0x4067ec
cmp ecx, 0xcbcdce72
je 0x406f5f
cmp ecx, 0xd24cf9fb
jne 0x4058b0
mov ecx, 0xb80560bf
jmp 0x4058b0
cmp ecx, 0x4e491efc
jle 0x406215
cmp ecx, 0x50bfb951
jg 0x40681d
cmp ecx, 0x4e491efd
je 0x406faf
cmp ecx, 0x4f0a0b99
jne 0x4058b0
cmp byte [esi + 0x39], 0
mov ecx, 0x5943037d
mov eax, 0xe23c2a92
cmovne ecx, eax
jmp 0x4058b0
cmp ecx, 0x86d2c3e8
jle 0x40626b
cmp ecx, 0x88a5ad18
jg 0x40685b
cmp ecx, 0x86d2c3e9
je 0x406fd5
cmp ecx, 0x87e4cff3
jne 0x4058b0
mov ecx, 0x40f67d15
jmp 0x4058b0
cmp ecx, 0x38afafdb
jg 0x4068a6
cmp ecx, 0x2bd5f95c
je 0x406ff0
cmp ecx, 0x375f131e
jne 0x4058b0
mov eax, dword [esi + 0xa8]
mov ecx, 0xa979f629
mov edx, 0x9bdb64f6
cmp eax, 0x40
cmove ecx, edx
jmp 0x4058b0
cmp ecx, 0xf3a516e1
jg 0x4068cf
cmp ecx, 0xee9e5070
je 0x40701c
cmp ecx, 0xef5c6b82
jne 0x4058b0
mov ecx, 0xee9e5070
jmp 0x4058b0
cmp ecx, 0x6a0eac82
jg 0x4068f1
cmp ecx, 0x69c9bd10
je 0x407030
cmp ecx, 0x69d70c04
jne 0x4058b0
mov ecx, 0x3cdf272f
jmp 0x4058b0
cmp ecx, 0xb80560be
jg 0x40693c
cmp ecx, 0xb7451052
je 0x40703d
cmp ecx, 0xb7fa5813
jne 0x4058b0
mov ecx, dword [esi + 0x10]
add ecx, dword [esi + 0x4c]
call fcn.0040fb30
mov edx, dword [esi + 0x28]
mov ecx, eax
push dword [edx + 4]
push dword [edx]
push dword [ebp + 0xc]
call fcn.004103c0
mov edi, dword [0x4843c0]
mov dword [esi + 8], eax
mov eax, 0xb285cbf8
mov dword [esi + 0x94], edx
lea ecx, [edi - 1]
imul ecx, edi
mov edi, dword [0x4843bc]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edi, 0xa
setl bh
xor bh, bl
mov ebx, 0x52a45aa
cmovne ebx, eax
cmp ecx, 0xffffffff
mov ecx, ebx
cmove ecx, eax
mov eax, dword [esi + 8]
cmp edi, 0xa
cmovge ecx, ebx
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x28]
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0xe0], xmm0
jmp 0x4058b0
cmp ecx, 0x262aae53
jg 0x40697a
cmp ecx, 0x1e3bea38
je 0x407049
cmp ecx, 0x208fe21d
jne 0x4058b0
mov ecx, 0x8b6e9bf6
jmp 0x4058b0
cmp ecx, 0xde8b95bc
jg 0x4069c4
cmp ecx, 0xdb7932c4
je 0x40705d
cmp ecx, 0xdcdb7cce
jne 0x4058b0
mov eax, dword [esi]
mov edi, 0xef5c6b82
mov ebx, 0xb7451052
mov eax, dword [eax]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x898de350
and eax, 4
and ecx, 0x76721caf
or edx, ecx
xor edx, 0x76721cab
or eax, edx
mov dword [esi + 0xa0], eax
mov eax, dword [0x4843c0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0xb7451052
jmp 0x405897
cmp ecx, 0x6002d79e
jg 0x4069f2
cmp ecx, 0x5943037d
je 0x40708a
cmp ecx, 0x5ba6297e
jne 0x4058b0
mov ecx, 0xab888cc2
jmp 0x4058b0
cmp ecx, 0xa7152ac3
jg 0x406a2a
cmp ecx, 0xa3a4d2f7
je 0x40709e
cmp ecx, 0xa514cf0e
jne 0x4058b0
cmp byte [esi + 0x3b], 0
mov ecx, 0xf8408888
mov eax, 0xa3a4d2f7
cmovne ecx, eax
jmp 0x4058b0
cmp ecx, 0x43cc43cd
jg 0x406bb0
cmp ecx, 0x3fcb7d63
je 0x4070d0
cmp ecx, 0x40f67d15
jne 0x4058b0
mov eax, dword [0x4843c0]
mov ebx, 0x4f0a0b99
mov edi, 0x87e4cff3
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x87e4cff3
jmp 0x407690
cmp ecx, 0xff4dc6bf
jg 0x406cf4
cmp ecx, 0xfc42bb00
je 0x4070da
cmp ecx, 0xfd40a7f3
jne 0x4058b0
mov ecx, 0x26aadf7d
jmp 0x4058b0
cmp ecx, 0x7ade41c5
jg 0x406d49
cmp ecx, 0x75895848
je 0x4070f7
cmp ecx, 0x7a079455
jne 0x4058b0
mov ecx, 0x4e491efd
jmp 0x4058b0
cmp ecx, 0xb02d58b0
jle 0x406d87
cmp ecx, 0xb02d58b1
je 0x407101
cmp ecx, 0xb0cfd578
jne 0x4058b0
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x54]
mov dword [eax], ecx
mov ecx, dword [esi + 0x50]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x3c]
push dword [eax]
call fcn.0040eb70
mov ecx, dword [esi + 0x3c]
call fcn.0040f850
test al, al
mov ecx, 0xe8819b9e
mov edx, 0xfc42bb00
cmovne ecx, edx
jmp 0x4058b0
cmp ecx, 0x38d5643
je 0x407133
cmp ecx, 0x4bbef25
je 0x407268
cmp ecx, 0x52a45aa
jne 0x4058b0
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
add ecx, dword [esi + 0x4c]
call fcn.0040fb30
mov edx, dword [esi + 0x28]
mov ecx, eax
push dword [edx + 4]
push dword [edx]
push dword [ebp + 0xc]
call fcn.004103c0
mov eax, dword [esi + 0x28]
mov ecx, 0xb7fa5813
jmp 0x4058b0
cmp ecx, 0xc1e59128
je 0x407272
cmp ecx, 0xc5082549
je 0x4072a0
cmp ecx, 0xc7cccbed
jne 0x4058b0
mov ecx, 0x12d44d52
jmp 0x4058b0
cmp ecx, 0x46796d91
je 0x4072aa
cmp ecx, 0x46b5520b
je 0x4072c2
cmp ecx, 0x4c3dbad3
jne 0x4058b0
mov edx, dword [0x4843c0]
mov eax, dword [0x4843bc]
mov edi, 0x44fac235
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x66def767
jmp 0x407467
cmp ecx, 0x80f7ef69
je 0x4072df
cmp ecx, 0x817d298b
je 0x40730e
cmp ecx, 0x81ee3814
jne 0x4058b0
mov ecx, 0x51c69398
jmp 0x4058b0
cmp ecx, 0x2906f52c
je 0x407327
cmp ecx, 0x2b8675d0
jne 0x4058b0
mov eax, dword [esi + 0x5c]
mov edi, 0xc606ff25
mov ebx, 0xc606ff25
mov edx, 0xf9fd53ee
mov eax, dword [eax]
mov eax, dword [eax + 4]
add eax, dword [esi + 0x5c]
mov dword [esi + 8], eax
mov eax, dword [0x4843b8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4843b4], 0xa
setl cl
or cl, al
mov ecx, 0x60810c2b
mov eax, 0x94d71dec
cmovne ecx, eax
mov eax, 0x60810c2b
mov dword [esi + 0x24], ecx
mov ecx, 0xedd12c70
cmovne eax, ecx
mov ecx, 0x58a8e869
cmovne edi, ecx
mov ecx, 0x75e6e160
cmovne ebx, ecx
jmp 0x406330
mov ecx, dword [esi + 0x14]
mov edx, 0xedd12c70
nop word [eax + eax]
mov ecx, edx
cmp edx, 0xf9fd53ed
jle 0x406360
cmp ecx, 0x60810c2a
jg 0x406390
mov edx, ebx
cmp ecx, 0xf9fd53ee
je 0x406330
mov edx, ecx
cmp ecx, 0x58a8e869
jne 0x406330
mov edx, 0xcd2d1bf0
jmp 0x406330
cmp ecx, 0xcd2d1bef
jle 0x4063ac
mov edx, eax
cmp ecx, 0xcd2d1bf0
je 0x406330
mov edx, ecx
cmp ecx, 0xedd12c70
jne 0x406330
mov ecx, dword [esi + 0x14]
mov edx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [esi + 0x30], edx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x2c], ecx
jmp 0x406330
cmp ecx, 0x60810c2b
je 0x40631f
mov edx, ecx
cmp ecx, 0x75e6e160
jne 0x406330
mov ecx, dword [esi + 8]
mov edx, edi
mov dword [esi + 0x14], ecx
jmp 0x406330
cmp ecx, 0xc606ff25
jne 0x4063be
mov edx, 0x75e6e160
jmp 0x406330
mov edx, ecx
cmp ecx, 0x94d71dec
jne 0x406330
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x28]
cmp dword [edx], ecx
mov edi, dword [edx + 4]
mov ecx, 0x6bd5ff4d
sbb edi, eax
setge byte [esi + 0x37]
jmp 0x4058b0
cmp ecx, 0xe8819b9e
je 0x407331
cmp ecx, 0xecdeaf4c
jne 0x4058b0
mov edx, dword [0x4843c0]
mov eax, dword [0x4843bc]
mov edi, 0x69d70c04
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x16be7d9f
jmp 0x407651
cmp ecx, 0x66c3213e
je 0x407363
cmp ecx, 0x66def767
jne 0x4058b0
mov eax, dword [esi + 0x58]
mov ecx, dword [0x4843b8]
mov edi, 0x75e6e160
mov ebx, 0xf9fd53ee
mov dword [esi + 8], eax
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x4843b4], 0xa
setge dl
setl ch
or dl, al
xor ch, cl
mov eax, 0x94d71dec
not dl
or dl, ch
mov ecx, 0x60810c2b
test dl, 1
mov edx, 0x58a8e869
cmovne ecx, eax
mov eax, 0xedd12c70
mov dword [esi + 0x2c], ecx
mov ecx, 0x60810c2b
cmovne ecx, eax
mov eax, 0xc606ff25
cmovne eax, edx
mov edx, 0xc606ff25
cmovne edx, edi
jmp 0x4064d0
mov edi, dword [esi + 0x14]
mov ebx, 0xedd12c70
nop
mov edi, ebx
cmp ebx, 0xf9fd53ed
jle 0x406500
cmp edi, 0x60810c2a
jg 0x406530
mov ebx, edx
cmp edi, 0xf9fd53ee
je 0x4064d0
mov ebx, edi
cmp edi, 0x58a8e869
jne 0x4064d0
mov ebx, 0xcd2d1bf0
jmp 0x4064d0
cmp edi, 0xcd2d1bef
jle 0x40654c
mov ebx, ecx
cmp edi, 0xcd2d1bf0
je 0x4064d0
mov ebx, edi
cmp edi, 0xedd12c70
jne 0x4064d0
mov edi, dword [esi + 0x14]
mov ebx, dword [edi + 0x20]
mov edi, dword [edi + 0x24]
mov dword [esi + 0x24], ebx
mov ebx, dword [esi + 0x2c]
mov dword [esi + 0x30], edi
jmp 0x4064d0
cmp edi, 0x60810c2b
je 0x4064c6
mov ebx, edi
cmp edi, 0x75e6e160
jne 0x4064d0
mov edi, dword [esi + 8]
mov ebx, eax
mov dword [esi + 0x14], edi
jmp 0x4064d0
cmp edi, 0xc606ff25
jne 0x40655e
mov ebx, 0x75e6e160
jmp 0x4064d0
mov ebx, edi
cmp edi, 0x94d71dec
jne 0x4064d0
mov ecx, dword [0x4843c0]
mov edi, dword [0x4843bc]
mov ebx, 0x56bd16a3
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete dl
cmp edi, 0xa
setl dh
xor dh, dl
mov edx, 0x44fac235
cmovne edx, ebx
test ecx, eax
mov eax, dword [esi + 0x30]
mov ecx, edx
cmove ecx, ebx
cmp edi, 0xa
cmovge ecx, edx
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
cmp edx, 1
sbb eax, 0
setl byte [esi + 0x36]
jmp 0x4058b0
cmp ecx, 0xb6158e48
je 0x407378
cmp ecx, 0xb7293597
jne 0x4058b0
mov edx, dword [0x4843c0]
mov eax, dword [0x4843bc]
mov edi, 0x80f7ef69
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x8dc82372
jmp 0x407651
cmp ecx, 0x16be7d9f
je 0x40738e
cmp ecx, 0x1cd80474
jne 0x4058b0
mov eax, dword [0x4843c0]
mov ebx, 0x8c2d8ae
mov edi, 0x9fb1a84b
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x9fb1a84b
jmp 0x407690
cmp ecx, 0xd7570735
je 0x407398
cmp ecx, 0xda15cb9d
jne 0x4058b0
cmp byte [esi + 0x3a], 0
mov ecx, 0x616f2ecd
mov eax, 0x5423df11
cmovne ecx, eax
jmp 0x4058b0
cmp ecx, 0x56bd16a3
je 0x4073a2
cmp ecx, 0x57b18760
jne 0x4058b0
mov ecx, dword [esi + 0xcc]
add ecx, dword [esi + 0x70]
push 0
push 0
call fcn.00410550
mov ecx, 0x7f4f0ff1
jmp 0x4058b0
cmp ecx, 0x9bdb64f6
je 0x4073b8
cmp ecx, 0x9fb1a84b
jne 0x4058b0
mov eax, dword [esi]
mov ecx, 0x8c2d8ae
jmp 0x4058b0
cmp ecx, 0x3f23c8c1
je 0x4073cc
cmp ecx, 0x3f2fc8af
jne 0x4058b0
mov edx, dword [0x4843c0]
mov eax, dword [0x4843bc]
mov edi, 0xc5082549
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xad6b02b7
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
xor eax, eax
cmp eax, dword [esi + 0x78]
mov eax, 0
sbb eax, dword [esi + 0x7c]
setl byte [esi + 0x3b]
jmp 0x4058b0
cmp ecx, 0xf8d3bb32
je 0x4073f3
cmp ecx, 0xfb2d5bd8
jne 0x4058b0
cmp dword [esi + 0xbc], 0
mov ecx, 0xda15cb9d
sete byte [esi + 0x3a]
jmp 0x4058b0
cmp ecx, 0x712b2618
je 0x4073fd
cmp ecx, 0x73c9b0d8
jne 0x4058b0
mov eax, dword [esi + 0xd0]
mov ecx, 0xaf42cdf8
mov dword [esi + 0xd4], eax
jmp 0x4058b0
cmp ecx, 0xad3d6021
je 0x40742e
cmp ecx, 0xad6b02b7
jne 0x4058b0
mov eax, dword [esi + 0x78]
mov eax, dword [esi + 0x7c]
mov ecx, 0x3f2fc8af
jmp 0x4058b0
cmp ecx, 0xbaa3ecd
je 0x40743a
cmp ecx, 0x123cf770
jne 0x4058b0
mov ecx, 0xc1e59128
jmp 0x4058b0
cmp ecx, 0xd33687ba
je 0x40747c
cmp ecx, 0xd36cd842
jne 0x4058b0
mov eax, dword [esi + 0xc]
mov ecx, 0xa7152ac4
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0xd8], xmm0
jmp 0x4058b0
cmp ecx, 0x50bfb952
je 0x407486
cmp ecx, 0x51c69398
jne 0x4058b0
mov eax, dword [0x4843c0]
mov ebx, 0xcbcdce72
mov edi, 0x28fa3633
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x28fa3633
jmp 0x407690
cmp ecx, 0x88a5ad19
je 0x4074e4
cmp ecx, 0x8b6e9bf6
jne 0x4058b0
mov edx, dword [0x4843c0]
mov eax, dword [0x4843bc]
mov edi, 0xd7570735
lea ecx, [edx - 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x208fe21d
jmp 0x407651
cmp ecx, 0x38afafdc
je 0x4074ee
cmp ecx, 0x38e1f4e7
jne 0x4058b0
mov eax, dword [esi]
mov ecx, dword [esi + 0x68]
mov dword [eax], ecx
mov ecx, 0x7ade41c6
jmp 0x4058b0
cmp ecx, 0xf3a516e2
je 0x4074f8
cmp ecx, 0xf574eee9
jne 0x4058b0
mov ecx, 0x2b8675d0
jmp 0x4058b0
cmp ecx, 0x6a0eac83
je 0x407513
cmp ecx, 0x6a996d8a
jne 0x4058b0
mov eax, dword [esi]
mov eax, dword [eax]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xc19f7106
and eax, 4
and ecx, 0x3e608ef9
or edx, ecx
mov ecx, 0x1e3bea38
xor edx, 0x3e608efd
or eax, edx
mov dword [esi + 0xb4], eax
jmp 0x4058b0
cmp ecx, 0xb80560bf
je 0x40751d
cmp ecx, 0xbd876a56
jne 0x4058b0
mov eax, dword [0x4843c0]
mov edi, 0x43cc43ce
mov ebx, 0x64593d25
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x64593d25
jmp 0x405897
cmp ecx, 0x262aae54
je 0x407557
cmp ecx, 0x26aadf7d
jne 0x4058b0
mov edx, dword [0x4843c0]
mov eax, dword [0x4843bc]
mov edi, 0xfd40a7f3
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x54d25261
jmp 0x407467
cmp ecx, 0xde8b95bd
je 0x407561
cmp ecx, 0xe0f52b94
jne 0x4058b0
cmp byte [esi + 0x38], 0
mov ecx, 0xb12f775e
mov eax, 0x2805637d
cmovne ecx, eax
jmp 0x4058b0
cmp ecx, 0x6002d79f
je 0x407588
cmp ecx, 0x616f2ecd
jne 0x4058b0
mov eax, dword [esi + 4]
mov ecx, 0x57b18760
mov eax, dword [eax]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0xcc], eax
jmp 0x4058b0
cmp ecx, 0xa7152ac4
je 0x4075a4
cmp ecx, 0xa7d1f0eb
jne 0x4058b0
mov eax, dword [esi + 0x9c]
mov edi, 0xc606ff25
mov ebx, 0xc606ff25
mov edx, 0xf9fd53ee
mov dword [esi + 8], eax
mov eax, dword [0x4843b8]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4843b4], 0xa
setl cl
or cl, al
mov ecx, 0x60810c2b
mov eax, 0x94d71dec
cmovne ecx, eax
mov eax, 0x60810c2b
mov dword [esi + 0x24], ecx
mov ecx, 0xedd12c70
cmovne eax, ecx
mov ecx, 0x58a8e869
cmovne edi, ecx
mov ecx, 0x75e6e160
cmovne ebx, ecx
jmp 0x406ac0
mov ecx, dword [esi + 0x14]
mov edx, 0xedd12c70
nop word cs:[eax + eax]
mov ecx, edx
cmp edx, 0xf9fd53ed
jle 0x406af0
cmp ecx, 0x60810c2a
jg 0x406b20
mov edx, ebx
cmp ecx, 0xf9fd53ee
je 0x406ac0
mov edx, ecx
cmp ecx, 0x58a8e869
jne 0x406ac0
mov edx, 0xcd2d1bf0
jmp 0x406ac0
cmp ecx, 0xcd2d1bef
jle 0x406b3c
mov edx, eax
cmp ecx, 0xcd2d1bf0
je 0x406ac0
mov edx, ecx
cmp ecx, 0xedd12c70
jne 0x406ac0
mov ecx, dword [esi + 0x14]
mov edx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [esi + 0x30], edx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x2c], ecx
jmp 0x406ac0
cmp ecx, 0x60810c2b
je 0x406aab
mov edx, ecx
cmp ecx, 0x75e6e160
jne 0x406ac0
mov ecx, dword [esi + 8]
mov edx, edi
mov dword [esi + 0x14], ecx
jmp 0x406ac0
cmp ecx, 0xc606ff25
jne 0x406b4e
mov edx, 0x75e6e160
jmp 0x406ac0
mov edx, ecx
cmp ecx, 0x94d71dec
jne 0x406ac0
mov eax, dword [esi + 0x2c]
mov ebx, 0xfb8b4c13
mov edi, 0x30f4c289
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x30]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x28]
sub ecx, ebx
sbb eax, edi
sub ecx, dword [edx]
sbb eax, dword [edx + 4]
add ecx, ebx
mov dword [esi + 0x80], ecx
mov ecx, 0xb0cfd578
adc eax, edi
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0x80]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x84]
mov dword [esi + 0x50], eax
jmp 0x4058b0
cmp ecx, 0x43cc43ce
je 0x4075c5
cmp ecx, 0x44fac235
jne 0x4058b0
mov eax, dword [esi + 0x58]
mov edi, 0xc606ff25
mov ebx, 0xc606ff25
mov edx, 0xf9fd53ee
mov dword [esi + 8], eax
mov eax, dword [0x4843b8]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
cmp dword [0x4843b4], 0xa
setl cl
or cl, al
mov ecx, 0x60810c2b
mov eax, 0x94d71dec
cmovne ecx, eax
mov eax, 0xedd12c70
mov dword [esi + 0x24], ecx
mov ecx, 0x60810c2b
cmovne ecx, eax
mov eax, 0x58a8e869
cmovne edi, eax
mov eax, 0x75e6e160
cmovne ebx, eax
jmp 0x406c40
mov eax, dword [esi + 0x14]
mov edx, 0xedd12c70
nop word cs:[eax + eax]
mov eax, edx
cmp edx, 0xf9fd53ed
jle 0x406c70
cmp eax, 0x60810c2a
jg 0x406ca0
mov edx, ebx
cmp eax, 0xf9fd53ee
je 0x406c40
mov edx, eax
cmp eax, 0x58a8e869
jne 0x406c40
mov edx, 0xcd2d1bf0
jmp 0x406c40
cmp eax, 0xcd2d1bef
jle 0x406cba
mov edx, ecx
cmp eax, 0xcd2d1bf0
je 0x406c40
mov edx, eax
cmp eax, 0xedd12c70
jne 0x406c40
mov eax, dword [esi + 0x14]
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [esi + 0x30], edx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x2c], eax
jmp 0x406c40
cmp eax, 0x60810c2b
je 0x406c2e
mov edx, eax
cmp eax, 0x75e6e160
jne 0x406c40
mov eax, dword [esi + 8]
mov edx, edi
mov dword [esi + 0x14], eax
jmp 0x406c40
cmp eax, 0xc606ff25
jne 0x406ccb
mov edx, 0x75e6e160
jmp 0x406c40
mov edx, eax
cmp eax, 0x94d71dec
jne 0x406c40
mov eax, dword [esi + 0x30]
mov ecx, 0x66def767
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
jmp 0x4058b0
cmp ecx, 0xff4dc6c0
je 0x407623
cmp ecx, 0x312f4f6
jne 0x4058b0
mov eax, dword [esi + 4]
mov ebx, 0xd24cf9fb
mov edi, 0x69c9bd10
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x6c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0xc0], eax
mov eax, dword [0x4843c0]
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x69c9bd10
jmp 0x407690
cmp ecx, 0x7ade41c6
je 0x407667
cmp ecx, 0x7f4f0ff1
jne 0x4058b0
mov eax, dword [0x4843c0]
mov ebx, 0xecdeaf4c
mov edi, 0x16be7d9f
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x16be7d9f
jmp 0x407690
cmp ecx, 0xaf853028
jne 0x4076c0
mov ecx, 0x4c3dbad3
jmp 0x4058b0
mov eax, dword [0x4843c0]
mov edi, 0x50bfb952
mov ebx, 0x817d298b
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x817d298b
jmp 0x405897
mov eax, dword [esi + 4]
mov ecx, 0x3f23c8c1
mov eax, dword [eax]
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x10], eax
jmp 0x4058b0
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x18], eax
push dword [esi + 0x18]
call fcn.00443a50
add esp, 4
mov ecx, dword [esi + 0x28]
mov ebx, 0xaf853028
mov edi, 0xdb7932c4
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov eax, dword [esi + 0xc]
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov ecx, dword [eax]
add eax, dword [ecx + 4]
mov dword [esi + 0x58], eax
mov eax, dword [0x4843c0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xdb7932c4
jmp 0x407690
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0xc]
add eax, 0xffffffff
adc ecx, 0xffffffff
mov dword [edx], eax
mov dword [edx + 4], ecx
mov ecx, 0x43cc43ce
jmp 0x4058b0
mov ecx, 0xf80ce981
jmp 0x4058b0
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
add ecx, 0xffffffff
adc eax, 0xffffffff
mov dword [esi + 0x88], ecx
mov ecx, 0xb135a11
mov dword [esi + 0x8c], eax
jmp 0x4058b0
mov edx, dword [0x4843c0]
mov eax, dword [0x4843bc]
mov edi, 0x12a616b1
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xf80ce981
jmp 0x407467
mov eax, dword [esi + 4]
mov ecx, 0x80f7ef69
jmp 0x4058b0
mov eax, dword [0x4843c0]
mov edi, 0x40f67d15
mov ebx, 0x87e4cff3
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x87e4cff3
jmp 0x405897
mov eax, dword [0x4843c0]
mov edi, 0x81ee3814
mov ebx, 0x12a616b1
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x12a616b1
jmp 0x405897
cmp byte [esi + 0x37], 0
mov ecx, 0x46b5520b
jmp 0x4073ab
mov ecx, 0xd36cd842
jmp 0x4058b0
mov eax, dword [esi]
mov edi, 0x5ba6297e
mov ebx, 0x9fb1a84b
mov eax, dword [eax]
mov dword [esi + 0xc8], eax
mov eax, dword [0x4843c0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x9fb1a84b
jmp 0x405897
mov edx, dword [0x4843c0]
mov eax, dword [0x4843bc]
mov edi, 0xc7cccbed
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x28fa3633
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
mov edi, dword [esi + 0xc]
cmp eax, 0xa
cmovge ecx, edx
vmovsd xmm0, qword [edi]
vmovsd qword [esi + 0x78], xmm0
jmp 0x4058b0
mov eax, dword [0x4843c0]
mov ebx, 0x75895848
mov edi, 0x7a079455
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov ecx, 0x7a079455
jmp 0x407690
mov eax, dword [esi + 0xc4]
mov ecx, 0x6a0eac83
mov edx, 0x1cd80474
cmp eax, 0xffffffff
cmove ecx, edx
jmp 0x4058b0
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x94]
xor ecx, dword [esi + 0xe4]
xor eax, dword [esi + 0xe0]
or eax, ecx
mov ecx, 0xff4dc6c0
mov eax, 0x5943037d
cmove ecx, eax
jmp 0x4058b0
mov eax, dword [esi]
mov ecx, dword [esi + 0xa0]
mov dword [eax], ecx
mov ecx, 0x64a02a8f
jmp 0x4058b0
mov eax, dword [esi + 4]
mov ecx, 0x312f4f6
jmp 0x4058b0
mov eax, dword [esi]
mov ecx, 0xdcdb7cce
jmp 0x4058b0
mov eax, dword [esi]
mov ecx, dword [esi + 0xb4]
mov dword [eax], ecx
mov ecx, 0x4bbef25
jmp 0x4058b0
mov eax, 0x13fbda74
nop word cs:[eax + eax]
cmp eax, 0x13fbda74
je 0x407083
cmp eax, 0xf08e674b
jne 0x407070
jmp 0x4076ad
mov eax, 0xf08e674b
jmp 0x407070
mov eax, dword [esi]
mov ecx, 0xfb2d5bd8
mov eax, dword [eax]
mov dword [esi + 0xbc], eax
jmp 0x4058b0
mov edx, dword [0x4843c0]
mov eax, dword [0x4843bc]
mov edi, 0x69c9bd10
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x312f4f6
jmp 0x407467
mov ecx, 0x3cdf272f
jmp 0x4058b0
mov eax, dword [esi + 4]
mov ecx, 0x38d5643
mov eax, dword [eax]
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x64]
mov eax, dword [eax]
mov dword [esi + 0xa4], eax
jmp 0x4058b0
mov ecx, 0x9bdb64f6
jmp 0x4058b0
mov edx, dword [0x4843c0]
mov eax, dword [0x4843bc]
mov edi, 0xfd40a7f3
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x26aadf7d
jmp 0x407467
mov eax, dword [esi + 0xa4]
mov ebx, 0x11ee917c
mov ecx, dword [eax + 4]
mov edx, dword [esi + 0x64]
mov eax, dword [0x4843b0]
lea edi, [eax + 1]
mov ecx, dword [edx + ecx + 0x14]
mov edx, 0xe4b2413c
imul edi, eax
not edi
or edi, 0xfffffffe
mov dword [esi + 0x24], ecx
mov ecx, 0xeed2dbdc
cmp edi, 0xffffffff
mov edi, 0xfa16bdbc
sete al
cmp dword [0x4843ac], 0xa
setl ah
or ah, al
mov eax, 0xb342c5d3
cmovne eax, edi
mov edi, 0xb342c5d3
cmovne edx, ecx
mov ecx, 0x7c1dd190
cmovne edi, ebx
mov ebx, 0xe4b2413c
mov dword [esi + 8], edx
cmovne ebx, ecx
mov ecx, 0x920e7b69
jmp 0x4071b0
mov ecx, 0x7c1dd190
nop dword [eax + eax]
mov edx, ecx
cmp ecx, 0xfa16bdbb
jg 0x4071e0
cmp edx, 0xe4b2413b
jg 0x407210
mov ecx, ebx
cmp edx, 0x920e7b69
je 0x4071b0
mov ecx, edx
cmp edx, 0xb342c5d3
jne 0x4071b0
mov ecx, 0x11ee917c
jmp 0x4071b0
cmp edx, 0x2154ef6f
jle 0x407229
mov ecx, edi
cmp edx, 0x2154ef70
je 0x4071b0
mov ecx, edx
cmp edx, 0x7c1dd190
jne 0x4071b0
mov ecx, dword [esi + 8]
jmp 0x4071b0
cmp edx, 0xe4b2413c
je 0x4071a6
mov ecx, edx
cmp edx, 0xeed2dbdc
jne 0x4071b0
mov ecx, 0x2154ef70
jmp 0x4071b0
mov ecx, eax
cmp edx, 0x11ee917c
je 0x4071b0
mov ecx, edx
cmp edx, 0xfa16bdbc
jne 0x4071b0
mov eax, dword [esi + 0x24]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
mov ecx, eax
xor ecx, 0xfffffe3f
and ecx, eax
mov dword [esi + 0xa8], ecx
mov ecx, 0x375f131e
jmp 0x4058b0
mov ecx, 0xb12f775e
jmp 0x4058b0
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.00410190
mov ecx, dword [esi + 0xac]
movsx eax, al
push eax
call fcn.0040fc70
mov dword [esi + 0xb0], eax
mov ecx, 0xf3a516e2
jmp 0x4058b0
mov ecx, 0xa514cf0e
jmp 0x4058b0
mov dword [esi + 0x54], 0
mov ecx, 0xb0cfd578
mov dword [esi + 0x50], 0
jmp 0x4058b0
mov eax, dword [esi + 4]
mov ecx, 0x6002d79f
mov eax, dword [eax]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov dword [esi + 0x98], eax
jmp 0x4058b0
mov eax, dword [esi + 4]
mov edi, 0xf574eee9
mov ebx, 0x8dc82372
mov eax, dword [eax]
mov dword [esi + 0x5c], eax
mov eax, dword [0x4843c0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x8dc82372
jmp 0x405897
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.0040fb30
mov ecx, 0x50bfb952
jmp 0x4058b0
mov ecx, 0xbaa3ecd
jmp 0x4058b0
mov edx, dword [0x4843c0]
mov eax, dword [0x4843bc]
mov edi, 0xb7451052
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0xdcdb7cce
jmp 0x407467
cmp dword [esi + 0xb8], 0
mov ecx, 0x3cc3b017
sete byte [esi + 0x39]
jmp 0x4058b0
mov eax, dword [esi + 0xc]
mov ecx, 0xbd876a56
vmovsd xmm0, qword [eax]
vmovsd qword [esi + 0x40], xmm0
jmp 0x4058b0
mov ecx, 0xecdeaf4c
jmp 0x4058b0
mov ecx, 0x5943037d
jmp 0x4058b0
cmp byte [esi + 0x36], 0
mov ecx, 0xb7293597
mov eax, 0x46796d91
cmovne ecx, eax
jmp 0x4058b0
mov eax, dword [esi]
mov ecx, 0x66c3213e
mov eax, dword [eax]
mov dword [esi + 0xb8], eax
jmp 0x4058b0
mov eax, dword [0x4843c0]
mov ebx, 0xb7fa5813
mov edi, 0x52a45aa
lea ecx, [eax - 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x52a45aa
jmp 0x407690
mov ecx, 0xd5ffbb54
jmp 0x4058b0
mov eax, dword [esi]
mov ebx, 0x9b29f1fb
mov edi, 0xad3d6021
mov eax, dword [eax]
or eax, 4
mov dword [esi + 0x68], eax
mov eax, dword [0x4843c0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xad3d6021
jmp 0x407690
mov eax, dword [esi]
mov ecx, 0x712b2618
jmp 0x4058b0
mov edx, dword [0x4843c0]
mov eax, dword [0x4843bc]
mov edi, 0x208fe21d
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov ebx, 0x8b6e9bf6
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
jmp 0x4058b0
mov ecx, 0xd36cd842
jmp 0x4058b0
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.0040fb30
mov edi, dword [0x4843c0]
mov edx, dword [0x4843bc]
mov dword [esi + 8], eax
mov eax, 0x123cf770
lea ecx, [edi + 1]
imul ecx, edi
mov edi, ecx
xor edi, 0xfffffffe
test edi, ecx
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0x817d298b
cmovne ebx, eax
test edi, ecx
mov ecx, ebx
cmove ecx, eax
cmp edx, 0xa
mov edx, dword [esi + 8]
cmovge ecx, ebx
mov dword [esi + 0xac], edx
jmp 0x4058b0
mov ecx, 0x38afafdc
jmp 0x4058b0
mov ecx, 0x51c69398
jmp 0x4058b0
mov eax, dword [esi + 0xb0]
mov ecx, 0xf8d3bb32
mov edx, 0x6a996d8a
cmp eax, 0xffffffff
cmove ecx, edx
jmp 0x4058b0
mov ecx, 0xb6158e48
jmp 0x4058b0
mov ecx, dword [esi + 0xc0]
add ecx, dword [esi + 0x6c]
call fcn.0040fb30
mov edi, eax
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.00410190
movsx eax, al
mov ecx, edi
push eax
call fcn.0040fc70
mov dword [esi + 0xc4], eax
mov ecx, 0x86d2c3e9
jmp 0x4058b0
mov ecx, 0x70a2bf92
jmp 0x4058b0
mov eax, dword [0x4843c0]
mov edi, 0xe717e490
mov ebx, 0xdb7932c4
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0xdb7932c4
jmp 0x405897
mov eax, dword [esi + 0x98]
mov ecx, 0xa7d1f0eb
mov eax, dword [eax + 4]
add eax, dword [esi + 0x60]
mov dword [esi + 0x9c], eax
jmp 0x4058b0
xor eax, eax
cmp eax, dword [esi + 0xd8]
mov eax, 0
mov ecx, 0xe0f52b94
sbb eax, dword [esi + 0xdc]
setl byte [esi + 0x38]
jmp 0x4058b0
mov eax, dword [esi + 0x40]
mov ecx, 0x70696513
mov edx, 0xde5b91f4
mov edi, 0x88a5ad19
add eax, ecx
mov ecx, dword [esi + 0x44]
adc ecx, edx
mov edx, 0x70696513
not edx
add edx, eax
mov eax, 0xde5b91f4
not eax
adc eax, ecx
mov ecx, dword [esi + 0xc]
mov dword [ecx + 4], eax
mov dword [ecx], edx
mov edx, dword [0x4843c0]
mov eax, dword [0x4843bc]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x64593d25
jmp 0x407651
mov edx, dword [0x4843c0]
mov eax, dword [0x4843bc]
mov edi, 0x712b2618
lea ecx, [edx - 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xad3d6021
cmovne edx, edi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, edi
cmp eax, 0xa
cmovge ecx, edx
jmp 0x4058b0
mov eax, dword [esi]
mov ecx, dword [esi + 0x68]
mov ebx, 0x2906f52c
mov edi, 0x38e1f4e7
mov dword [eax], ecx
mov eax, dword [0x4843c0]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov ecx, 0x38e1f4e7
sete al
cmove ecx, ebx
cmp dword [0x4843bc], 0xa
setl dl
cmovge ecx, edi
xor dl, al
cmovne ecx, ebx
jmp 0x4058b0
mov eax, dword [ebp + 0xc]
mov ecx, 0xe717e490
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
jmp 0x4058b0
cmp ecx, 0xaf42cdf8
jne 0x4058b0
mov ecx, dword [esi + 0x74]
add ecx, dword [esi + 0xd4]
mov eax, dword [esi]
push 0
push dword [eax]
call fcn.004106e0
mov eax, dword [esi + 4]
mov edi, dword [eax]
mov ecx, dword [esi + 0x3c]
call fcn.00410a40
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0xc]
mov eax, dword [esi + 0x28]
mov eax, dword [esi]
mov ecx, dword [esi + 0xe8]
xor ecx, ebp
call fcn.0043d1d0
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret