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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x100
mov eax, dword [0x4b02c0]
mov esi, esp
xor eax, ebp
mov dword [esi + 0xf8], eax
mov eax, dword [0x4b23d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, dword [0x4b23cc]
sete byte [esi + 0x31]
cmp eax, 0xa
mov eax, 0x49981d9d
setl byte [esi + 0x32]
jmp 0x405f40
mov edx, dword [0x4b23d0]
mov ecx, dword [0x4b23cc]
mov edi, 0x15ab267c
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, 0x506db76b
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
nop word cs:[eax + eax]
cmp eax, 0xac77e19
jg 0x405fa0
cmp eax, 0xb582806e
jg 0x406030
cmp eax, 0x9e77e896
jg 0x4060fc
cmp eax, 0x9305653e
jle 0x406289
cmp eax, 0x98d91e15
jle 0x406528
cmp eax, 0x9abe6417
jg 0x406a2f
cmp eax, 0x98d91e16
je 0x406b7b
cmp eax, 0x99f3afdb
jne 0x405f40
mov eax, dword [esi + 0x54]
mov eax, 0x649d8aa
jmp 0x405f40
cmp eax, 0x41d25318
jle 0x4060b0
cmp eax, 0x584b8b50
jg 0x40618e
cmp eax, 0x4a84376f
jle 0x4062d4
cmp eax, 0x4c8b98ee
jle 0x406553
cmp eax, 0x506db76a
jg 0x406a57
cmp eax, 0x4c8b98ef
je 0x406b96
cmp eax, 0x4d99e294
jne 0x405f40
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0xbc]
push dword [esi + 0xec]
push dword [esi + 0xe8]
push dword [eax]
call fcn.00410b30
mov ecx, dword [esi + 0x2c]
xor edx, dword [ecx + 4]
xor eax, dword [ecx]
mov ecx, 0xa50a7d1e
or eax, edx
mov eax, 0x9dd35701
cmove eax, ecx
jmp 0x405f40
cmp eax, 0xe98cf771
jg 0x4061eb
cmp eax, 0xd0b4ac55
jle 0x40630a
cmp eax, 0xda744ef2
jle 0x406581
cmp eax, 0xe164f0ac
jg 0x406a83
cmp eax, 0xda744ef3
je 0x406bb7
cmp eax, 0xdaae08a8
jne 0x405f40
mov edx, dword [0x4b23d0]
mov ecx, dword [0x4b23cc]
mov edi, 0x4670b221
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, 0x8ceaad44
jmp 0x405f25
cmp eax, 0x2dd20c07
jle 0x406248
cmp eax, 0x334f1bf7
jle 0x406350
cmp eax, 0x3b58560e
jle 0x4065ac
cmp eax, 0x41209b0f
jg 0x406aae
cmp eax, 0x3b58560f
je 0x406bcd
cmp eax, 0x3be4c84d
jne 0x405f40
mov eax, 0xafd28585
jmp 0x405f40
cmp eax, 0xac3c72ab
jle 0x406386
cmp eax, 0xb0fa4635
jle 0x406607
cmp eax, 0xb3b1d5ca
jg 0x406ace
cmp eax, 0xb0fa4636
je 0x406bf1
cmp eax, 0xb3910841
jne 0x405f40
mov edx, dword [0x4b23d0]
mov ecx, dword [0x4b23cc]
mov edi, 0x584b8b51
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, 0x4c70e06a
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 8]
cmovge eax, edx
mov ecx, dword [ecx]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x6c]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0xd0], ecx
jmp 0x405f40
cmp eax, 0x7434542e
jle 0x4063bc
cmp eax, 0x768b645f
jle 0x40664e
cmp eax, 0x79db3de6
jg 0x406af1
cmp eax, 0x768b6460
je 0x406bfb
cmp eax, 0x774cc578
jne 0x405f40
mov eax, dword [0x4b23d0]
mov ebx, 0x14f00569
mov edi, 0xa2a7d8ee
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xa2a7d8ee
jmp 0x407036
cmp eax, 0xf34e9113
jle 0x4063fd
cmp eax, 0xf81fce92
jle 0x4066b5
cmp eax, 0x40ce807
jg 0x406b25
cmp eax, 0xf81fce93
je 0x406c05
cmp eax, 0xfe03da0c
jne 0x405f40
mov eax, dword [0x4b23d0]
mov ebx, 0xafd28585
mov edi, 0x3be4c84d
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x3be4c84d
jmp 0x407036
cmp eax, 0x20dc15d4
jg 0x4064c8
cmp eax, 0x1799b210
jg 0x4066ec
cmp eax, 0x14f00568
jle 0x406b66
cmp eax, 0x14f00569
je 0x406cd5
cmp eax, 0x15ab267c
jne 0x405f40
mov eax, 0x506db76b
jmp 0x405f40
cmp eax, 0x8faa8304
jg 0x406753
cmp eax, 0x814b398c
je 0x406d09
cmp eax, 0x88f100c9
je 0x406d24
cmp eax, 0x8ceaad44
jne 0x405f40
mov eax, dword [0x4b23d0]
mov edi, 0x95304cd8
mov ebx, 0x4670b221
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x4670b221
jmp 0x407589
cmp eax, 0x46b25d31
jg 0x40677e
cmp eax, 0x41d25319
je 0x406d3c
cmp eax, 0x42c5c531
je 0x406d51
cmp eax, 0x4670b221
jne 0x405f40
mov eax, 0x8ceaad44
jmp 0x405f40
cmp eax, 0xc8da8e72
jg 0x4067ce
cmp eax, 0xb582806f
je 0x406d66
cmp eax, 0xb66fbb33
je 0x406d70
cmp eax, 0xc6597e8a
jne 0x405f40
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov dword [esi + 0x54], eax
mov eax, 0x6452c786
jmp 0x405f40
cmp eax, 0x2f1c24cc
jg 0x4067f9
cmp eax, 0x2dd20c08
je 0x406d7a
cmp eax, 0x2e557d47
je 0x406da0
cmp eax, 0x2e8a1b79
jne 0x405f40
mov eax, 0xef437ac0
jmp 0x405f40
cmp eax, 0xa3ce5984
jg 0x406835
cmp eax, 0x9e77e897
je 0x406dde
cmp eax, 0xa10e81be
je 0x406e12
cmp eax, 0xa2a7d8ee
jne 0x405f40
mov eax, 0x14f00569
jmp 0x405f40
cmp eax, 0x6452c785
jg 0x40686c
cmp eax, 0x584b8b51
je 0x406e46
cmp eax, 0x586b51f9
je 0x406e50
cmp eax, 0x5a595440
jne 0x405f40
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0xc]
or eax, 4
mov dword [ecx], eax
mov eax, 0x766afabc
jmp 0x405f40
cmp eax, 0xef5b68b2
jg 0x4068cc
cmp eax, 0xe98cf772
je 0x406e76
cmp eax, 0xed41d853
je 0x406ea9
cmp eax, 0xef437ac0
jne 0x405f40
push eax
mov eax, esp
mov dword [esi + 0x40], eax
push eax
mov eax, esp
mov dword [esi + 8], eax
push eax
mov eax, esp
mov dword [esi + 0xc], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x2c], eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x24], eax
push eax
push eax
mov eax, esp
mov dword [esi + 0x38], eax
mov ecx, dword [ebp + 0xc]
mov ebx, 0xa3ce5985
mov eax, dword [esi + 0x40]
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 8]
mov dword [eax], ecx
mov eax, dword [esi + 0xc]
mov eax, dword [esi + 0xc]
mov dword [eax], 0
mov edx, dword [0x4b23d0]
mov ecx, dword [0x4b23cc]
lea eax, [edx + 1]
imul eax, edx
mov edi, eax
xor edi, 0xfffffffe
test edi, eax
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x2e8a1b79
cmovne edx, ebx
test edi, eax
mov eax, edx
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0x2c]
mov ecx, dword [esi + 0x40]
cmovge eax, edx
mov ecx, dword [ecx]
mov dword [esi + 0x9c], ecx
jmp 0x405f40
cmp eax, 0x267175ba
jg 0x406917
cmp eax, 0x20dc15d5
je 0x406ebb
cmp eax, 0x21b29b78
je 0x406fbf
cmp eax, 0x23854f60
jne 0x405f40
mov edx, dword [0x4b23d0]
mov ecx, dword [0x4b23cc]
mov edi, 0xe164f0ad
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, 0xb44d766e
jmp 0x40741c
cmp eax, 0x9305653f
je 0x406fd5
cmp eax, 0x949ea88e
je 0x407014
cmp eax, 0x95304cd8
jne 0x405f40
mov eax, 0x901f8700
jmp 0x405f40
cmp eax, 0x4a843770
je 0x407053
cmp eax, 0x4b2586a5
je 0x407074
cmp eax, 0x4c70e06a
jne 0x405f40
mov eax, dword [esi + 8]
mov eax, 0xb3910841
jmp 0x405f40
cmp eax, 0xd0b4ac56
je 0x40708d
cmp eax, 0xd0b6740c
je 0x407097
cmp eax, 0xd750315a
jne 0x405f40
mov eax, 0x901f8700
jmp 0x405f40
cmp eax, 0x334f1bf8
je 0x4070af
cmp eax, 0x370d4938
je 0x4070c8
cmp eax, 0x37bd3175
jne 0x405f40
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x48]
mov dword [eax], ecx
mov ecx, dword [esi + 0x44]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x38]
push dword [eax]
call fcn.0040f910
mov ecx, dword [esi + 0x38]
call fcn.00410330
test al, al
mov eax, 0x7434542f
mov ecx, 0x98d91e16
cmovne eax, ecx
jmp 0x405f40
cmp eax, 0xac3c72ac
je 0x4070fb
cmp eax, 0xadc4684a
je 0x407105
cmp eax, 0xafd28585
jne 0x405f40
mov eax, dword [0x4b23d0]
mov edi, 0x91b12df0
mov ebx, 0x3be4c84d
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x3be4c84d
jmp 0x407591
cmp eax, 0x7434542f
je 0x40710f
cmp eax, 0x7487e695
je 0x407121
cmp eax, 0x766afabc
jne 0x405f40
mov eax, dword [esi + 0x64]
mov ebx, 0xb0fa4636
mov edi, 0x5a595440
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x22c9fd17
and eax, 4
and ecx, 0xdd3602e8
or edx, ecx
mov ecx, dword [esi + 0xc]
xor edx, 0xdd3602ec
or eax, edx
mov dword [ecx], eax
mov eax, dword [0x4b23d0]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x5a595440
jmp 0x40702e
cmp eax, 0xf34e9114
je 0x40712b
cmp eax, 0xf3fbc337
je 0x40714a
cmp eax, 0xf7e490d7
jne 0x405f40
cmp byte [esi + 0x33], 0
mov eax, 0x42c5c531
mov ecx, 0xd750315a
cmovne eax, ecx
jmp 0x405f40
cmp eax, 0x1799b211
je 0x40718c
cmp eax, 0x1d722deb
je 0x40729d
cmp eax, 0x1fb4773f
jne 0x405f40
mov eax, dword [esi + 0x3c]
mov ebx, 0xcd027efc
mov edi, 0x31b240dd
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x1ce2e9ea
and eax, 4
and ecx, 0xe31d1615
or edx, ecx
mov ecx, dword [esi + 0xc]
xor edx, 0xe31d1611
or eax, edx
mov dword [ecx], eax
mov eax, dword [0x4b23d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x31b240dd
jmp 0x40702e
cmp eax, 0x8faa8305
je 0x4072dc
cmp eax, 0x901f8700
je 0x4072e6
cmp eax, 0x91b12df0
jne 0x405f40
mov eax, 0x334f1bf8
jmp 0x405f40
cmp eax, 0x46b25d32
je 0x4072ff
cmp eax, 0x46cd7209
je 0x407309
cmp eax, 0x49981d9d
jne 0x405f40
movzx ecx, byte [esi + 0x31]
movzx eax, byte [esi + 0x32]
mov edi, 0xef437ac0
mov ebx, 0x2e8a1b79
mov edx, eax
xor dl, cl
test al, al
mov eax, 0x2e8a1b79
cmovne eax, edi
test cl, cl
cmove eax, ebx
test dl, dl
cmovne eax, edi
jmp 0x405f40
cmp eax, 0xc8da8e73
je 0x407313
cmp eax, 0xc9740680
je 0x407332
cmp eax, 0xcd027efc
jne 0x405f40
mov eax, 0x7487e695
jmp 0x405f40
cmp eax, 0x2f1c24cd
je 0x40735c
cmp eax, 0x2fb6874e
je 0x407390
cmp eax, 0x31b240dd
jne 0x405f40
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0xc]
or eax, 4
mov dword [ecx], eax
mov eax, 0x1fb4773f
jmp 0x405f40
cmp eax, 0xa3ce5985
je 0x4073ce
cmp eax, 0xa50a7d1e
je 0x4073d8
cmp eax, 0xa6173c10
jne 0x405f40
cmp byte [esi + 0x34], 0
mov eax, 0x768b6460
mov ecx, 0xed41d853
cmovne eax, ecx
jmp 0x405f40
cmp eax, 0x6452c786
je 0x4073ed
cmp eax, 0x6c8298c5
je 0x405ef7
cmp eax, 0x6f004d80
jne 0x405f40
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0xa4]
mov eax, dword [ecx + edx + 0x20]
mov ecx, dword [ecx + edx + 0x24]
mov edx, 0x5d7f5dfc
nop word cs:[eax + eax]
cmp edx, 0x5d7f5dfc
je 0x4068c5
cmp edx, 0xef14833
jne 0x4068b0
jmp 0x407432
mov edx, 0xef14833
jmp 0x4068b0
cmp eax, 0xef5b68b3
je 0x407480
cmp eax, 0xf1b1ba23
je 0x407495
cmp eax, 0xf320908f
jne 0x405f40
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 eax, dword [esi + 0x28]
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0xc]
or eax, 4
mov dword [ecx], eax
mov eax, 0x2fb6874e
jmp 0x405f40
cmp eax, 0x267175bb
je 0x4074b7
cmp eax, 0x280cebe0
je 0x4074c9
cmp eax, 0x2d778349
jne 0x405f40
mov eax, dword [esi + 0xac]
mov eax, dword [eax]
add eax, dword [esi + 0x5c]
mov ecx, dword [0x4b23c8]
mov edx, dword [0x4b23c4]
lea edi, [ecx + 1]
mov dword [esi + 0x18], eax
mov eax, 0xb876c743
imul edi, ecx
mov ecx, edi
xor ecx, 0xfffffffe
test ecx, edi
mov ecx, 0x866e990c
mov edi, 0x866e990c
sete bl
sete byte [esi + 6]
cmove ecx, eax
cmp edx, 0xa
setl dl
cmovge ecx, edi
setl byte [esi + 7]
mov edi, 0xedb633
xor dl, bl
cmovne ecx, eax
nop
cmp edi, 0xc1e393d8
jg 0x4069c0
cmp edi, 0x866e990c
je 0x406a08
cmp edi, 0x98528a49
je 0x406a0f
cmp edi, 0xb876c743
jne 0x406990
mov edi, 0x63edabfe
jmp 0x406990
cmp edi, 0xc1e393d9
je 0x4074d3
cmp edi, 0x63edabfe
je 0x406a1c
cmp edi, 0xedb633
jne 0x406990
movzx ebx, byte [esi + 6]
movzx eax, byte [esi + 7]
mov edi, 0x866e990c
mov edx, 0x98528a49
mov bh, al
xor bh, bl
test al, al
mov eax, 0x866e990c
cmovne edi, edx
test bl, bl
cmove edi, eax
test bh, bh
cmovne edi, edx
jmp 0x406990
mov edi, 0x98528a49
jmp 0x406990
mov eax, dword [esi + 0x18]
mov edi, ecx
mov dword [esi + 0x1c], eax
jmp 0x406990
mov eax, dword [esi + 0x1c]
mov edi, 0xc1e393d9
add eax, 0x38
mov dword [esi + 0x20], eax
jmp 0x406990
cmp eax, 0x9abe6418
je 0x40751c
cmp eax, 0x9dd35701
jne 0x405f40
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0x64], eax
mov eax, 0xf34e9114
jmp 0x405f40
cmp eax, 0x506db76b
je 0x407526
cmp eax, 0x559eb154
jne 0x405f40
cmp byte [esi + 0x35], 0
mov eax, 0xa50a7d1e
mov ecx, 0x814b398c
cmovne eax, ecx
jmp 0x405f40
cmp eax, 0xe164f0ad
je 0x407559
cmp eax, 0xe5ecaee3
jne 0x405f40
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0xb0]
mov dword [eax], ecx
mov eax, 0xadc4684a
jmp 0x405f40
cmp eax, 0x41209b10
je 0x4075ae
cmp eax, 0x415c3d11
jne 0x405f40
mov eax, 0x2f1c24cd
jmp 0x405f40
cmp eax, 0xb3b1d5cb
je 0x4075b8
cmp eax, 0xb44d766e
jne 0x405f40
mov eax, dword [esi + 8]
mov eax, 0xe164f0ad
jmp 0x405f40
cmp eax, 0x79db3de7
je 0x407668
cmp eax, 0x7f51c3e6
jne 0x405f40
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x7c]
cmp eax, 1
mov eax, 0x23854f60
sbb ecx, 0
mov ecx, 0x6c8298c5
cmovl eax, ecx
jmp 0x405f40
cmp eax, 0x40ce808
je 0x407686
cmp eax, 0x649d8aa
jne 0x405f40
mov eax, dword [esi + 0x54]
mov edi, 0xb66fbb33
mov ebx, 0x99f3afdb
mov eax, dword [eax + 4]
mov dword [esi + 0xa4], eax
mov eax, dword [0x4b23d0]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x99f3afdb
jmp 0x407589
cmp eax, 0xf2ea572
jne 0x4078f2
mov eax, 0xe98cf772
jmp 0x405f40
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x58]
mov dword [esi + 0xa8], eax
mov eax, 0xb3b1d5cb
jmp 0x405f40
xor eax, eax
cmp eax, dword [esi + 0xf0]
mov eax, 0
sbb eax, dword [esi + 0xf4]
mov eax, 0x774cc578
setl byte [esi + 0x37]
jmp 0x405f40
cmp byte [esi + 0x36], 0
mov eax, 0x2f1c24cd
mov ecx, 0xfe03da0c
cmovne eax, ecx
jmp 0x405f40
mov eax, dword [esi + 0xe0]
mov ecx, dword [esi + 0xe4]
mov edx, dword [esi + 0x24]
add eax, 0xffffffff
adc ecx, 0xffffffff
mov dword [edx], eax
mov eax, 0xdaae08a8
mov dword [edx + 4], ecx
jmp 0x405f40
mov eax, 0x370d4938
jmp 0x405f40
mov eax, 0x42c5c531
jmp 0x405f40
mov eax, dword [esi + 0x6c]
mov edi, 0x588f8184
add eax, dword [esi + 0xd0]
mov ecx, dword [0x4b23c0]
mov dword [esi + 0x1c], eax
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x4b23bc], 0xa
setge dl
setl ch
or dl, al
xor ch, cl
mov eax, 0xea49ca7a
not dl
or dl, ch
mov ecx, 0x588f8184
test dl, 1
cmovne edi, eax
mov eax, 0x90deb9c1
cmovne ecx, eax
mov eax, 0x18b561d9
nop dword [eax]
cmp eax, 0xea49ca79
jle 0x406c90
cmp eax, 0xea49ca7a
je 0x407742
cmp eax, 0x588f8184
je 0x406ca2
cmp eax, 0x18b561d9
jne 0x406c60
mov eax, dword [esi + 0x1c]
mov edx, dword [eax + 0x20]
mov ebx, dword [eax + 0x24]
mov eax, 0xd90edd34
jmp 0x406c60
cmp eax, 0x90deb9c1
je 0x406cba
cmp eax, 0xd90edd34
jne 0x406c60
mov eax, ecx
jmp 0x406c60
mov eax, dword [esi + 0x1c]
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov eax, 0x90deb9c1
jmp 0x406c60
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x18], edx
mov dword [esi + 0x20], ebx
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov eax, edi
jmp 0x406c60
mov edx, dword [0x4b23d0]
mov ecx, dword [0x4b23cc]
mov edi, 0x21b29b78
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, 0xa2a7d8ee
jmp 0x40741c
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0xb8], eax
mov eax, 0x20dc15d5
jmp 0x405f40
mov dword [esi + 0x48], 0
mov eax, 0x37bd3175
mov dword [esi + 0x44], 0
jmp 0x405f40
cmp dword [esi + 0xb4], 0
mov eax, 0x559eb154
sete byte [esi + 0x35]
jmp 0x405f40
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0xb4], eax
mov eax, 0x41d25319
jmp 0x405f40
mov eax, 0xa50a7d1e
jmp 0x405f40
mov eax, 0x6f004d80
jmp 0x405f40
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp ecx, dword [esi + 0x80]
mov ecx, 0xc6597e8a
sbb eax, dword [esi + 0x84]
mov eax, 0x6c8298c5
cmovl eax, ecx
jmp 0x405f40
mov ecx, dword [esi + 0x24]
mov edi, 0x488d894a
mov edx, 0x488d894a
mov ebx, 0x42f714ec
not edi
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add eax, edx
adc ecx, ebx
add edi, eax
mov eax, 0x42f714ec
not eax
mov dword [esi + 0x90], edi
adc eax, ecx
mov dword [esi + 0x94], eax
mov eax, 0x79db3de7
jmp 0x405f40
mov edx, dword [0x4b23d0]
mov ecx, dword [0x4b23cc]
mov edi, 0x1fb4773f
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, 0x31b240dd
jmp 0x40741c
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xd775427c
and eax, 4
and ecx, 0x288abd83
or edx, ecx
xor edx, 0x288abd87
or eax, edx
mov dword [esi + 0xb0], eax
mov eax, 0xe5ecaee3
jmp 0x405f40
mov eax, 0xf81fce93
jmp 0x405f40
mov eax, dword [0x4b23d0]
mov ebx, 0x2fb6874e
mov edi, 0xf320908f
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xf320908f
jmp 0x407036
mov edx, dword [0x4b23d0]
mov ecx, dword [0x4b23cc]
mov edi, 0xf2ea572
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, 0xb582806f
jmp 0x405f25
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [esi + 0x5c], eax
mov eax, 0xd0b6740c
jmp 0x405f40
mov eax, dword [esi + 0xb8]
mov eax, dword [eax]
mov eax, dword [eax + 4]
add eax, dword [esi + 0x60]
mov ecx, dword [0x4b23c8]
mov edx, dword [0x4b23c4]
lea edi, [ecx + 1]
mov dword [esi + 0x18], eax
mov eax, 0xb876c743
imul edi, ecx
mov ecx, 0x866e990c
not edi
or edi, 0xfffffffe
cmp edi, 0xffffffff
mov edi, 0x866e990c
sete bl
sete byte [esi + 6]
cmove ecx, eax
cmp edx, 0xa
setl dl
cmovge ecx, edi
setl byte [esi + 7]
mov edi, 0xedb633
xor dl, bl
cmovne ecx, eax
nop word cs:[eax + eax]
cmp edi, 0xc1e393d8
jg 0x406f50
cmp edi, 0x866e990c
je 0x406f98
cmp edi, 0x98528a49
je 0x406f9f
cmp edi, 0xb876c743
jne 0x406f20
mov edi, 0x63edabfe
jmp 0x406f20
cmp edi, 0xc1e393d9
je 0x40775e
cmp edi, 0x63edabfe
je 0x406fac
cmp edi, 0xedb633
jne 0x406f20
movzx ebx, byte [esi + 6]
movzx eax, byte [esi + 7]
mov edi, 0x866e990c
mov edx, 0x98528a49
mov bh, al
xor bh, bl
test al, al
mov eax, 0x866e990c
cmovne edi, edx
test bl, bl
cmove edi, eax
test bh, bh
cmovne edi, edx
jmp 0x406f20
mov edi, 0x98528a49
jmp 0x406f20
mov eax, dword [esi + 0x18]
mov edi, ecx
mov dword [esi + 0x1c], eax
jmp 0x406f20
mov eax, dword [esi + 0x1c]
mov edi, 0xc1e393d9
add eax, 0x38
mov dword [esi + 0x20], eax
jmp 0x406f20
cmp byte [esi + 0x37], 0
mov eax, 0x415c3d11
mov ecx, 0x1799b211
cmovne eax, ecx
jmp 0x405f40
mov ecx, dword [esi + 0x70]
push 0
push dword [esi + 0x74]
call fcn.00410d80
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [esi + 0xd4], eax
mov ecx, dword [esi + 0x38]
call fcn.00410ec0
mov eax, dword [0x4b23d0]
mov edi, 0xac3c72ac
mov ebx, 0xf1b1ba23
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xf1b1ba23
jmp 0x407589
mov eax, dword [0x4b23d0]
mov ebx, 0x9305653f
mov edi, 0xf1b1ba23
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xf1b1ba23
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4b23cc], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x405f40
xor eax, eax
cmp eax, dword [esi + 0xd8]
mov eax, 0
sbb eax, dword [esi + 0xdc]
mov eax, 0xa6173c10
setl byte [esi + 0x34]
jmp 0x405f40
mov eax, dword [esi + 0x24]
vmovsd xmm0, qword [eax]
mov eax, 0x3b58560f
vmovsd qword [esi + 0xe0], xmm0
jmp 0x405f40
mov eax, 0x2e557d47
jmp 0x405f40
mov eax, dword [esi + 0x5c]
mov eax, dword [eax]
add eax, 4
mov dword [esi + 0xac], eax
mov eax, 0x2d778349
jmp 0x405f40
mov eax, dword [esi + 0x24]
vmovsd xmm0, qword [eax]
mov eax, 0x4c8b98ef
vmovsd qword [esi + 0xf0], xmm0
jmp 0x405f40
mov edx, dword [0x4b23d0]
mov ecx, dword [0x4b23cc]
mov edi, 0xf2ea572
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, 0xe98cf772
jmp 0x405f25
mov eax, 0xac77e1a
jmp 0x405f40
mov eax, 0x768b6460
jmp 0x405f40
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0x28], eax
mov eax, 0x586b51f9
jmp 0x405f40
mov eax, 0x415c3d11
jmp 0x405f40
mov eax, dword [0x4b23d0]
mov edi, 0x766afabc
mov ebx, 0x5a595440
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0x5a595440
jmp 0x407589
mov eax, dword [esi + 0xc8]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0x68]
lea eax, [ecx + eax + 0x40]
mov ecx, 0xef1ae9c4
nop word cs:[eax + eax]
cmp ecx, 0xef1ae9c4
je 0x407185
cmp ecx, 0x2adfa254
jne 0x407170
jmp 0x407788
mov ecx, 0x2adfa254
jmp 0x407170
mov eax, dword [0x4b23c8]
mov ecx, dword [0x4b23c4]
lea edi, [eax + 1]
mov dword [esi + 0x98], ecx
imul edi, eax
mov ebx, edi
xor ebx, 0xfffffffe
test ebx, edi
sete al
cmp ecx, 0xa
setl cl
xor cl, al
mov eax, 0x866e990c
mov ecx, 0xb876c743
cmovne eax, ecx
test ebx, edi
mov dword [esi + 0x18], eax
mov eax, dword [esi + 8]
mov edx, dword [esi + 0x18]
mov ecx, dword [eax]
mov eax, 0xb876c743
cmove edx, eax
mov eax, dword [ecx]
add ecx, dword [eax + 4]
test ebx, edi
mov edi, 0xedb633
sete byte [esi + 6]
cmp dword [esi + 0x98], 0xa
mov dword [esi + 0x20], ecx
cmovge edx, dword [esi + 0x18]
setl byte [esi + 7]
mov dword [esi + 0x18], edx
nop dword [eax]
cmp edi, 0xc1e393d8
jg 0x407230
cmp edi, 0x866e990c
je 0x407278
cmp edi, 0x98528a49
je 0x40727f
cmp edi, 0xb876c743
jne 0x407200
mov edi, 0x63edabfe
jmp 0x407200
cmp edi, 0xc1e393d9
je 0x4077ad
cmp edi, 0x63edabfe
je 0x40728d
cmp edi, 0xedb633
jne 0x407200
movzx eax, byte [esi + 6]
movzx ecx, byte [esi + 7]
mov edi, 0x866e990c
mov ebx, 0x98528a49
mov ah, al
xor ah, cl
test cl, cl
mov ecx, 0x866e990c
cmovne edi, ebx
test al, al
cmove edi, ecx
test ah, ah
cmovne edi, ebx
jmp 0x407200
mov edi, 0x98528a49
jmp 0x407200
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 0x18]
mov dword [esi + 0x1c], eax
jmp 0x407200
mov edx, dword [esi + 0x1c]
mov edi, 0xc1e393d9
add edx, 0x38
jmp 0x407200
mov ecx, dword [esi + 0xa0]
mov edx, dword [esi + 0x4c]
mov eax, dword [edx + ecx + 0x20]
mov ecx, dword [edx + ecx + 0x24]
mov edx, 0x5d7f5dfc
nop word cs:[eax + eax]
cmp edx, 0x5d7f5dfc
je 0x4072d5
cmp edx, 0xef14833
jne 0x4072c0
jmp 0x4077d6
mov edx, 0xef14833
jmp 0x4072c0
mov eax, 0xc8da8e73
jmp 0x405f40
mov eax, dword [esi + 0x24]
vmovsd xmm0, qword [eax]
mov eax, 0x4a843770
vmovsd qword [esi + 0xd8], xmm0
jmp 0x405f40
mov eax, 0x334f1bf8
jmp 0x405f40
mov eax, 0xc8da8e73
jmp 0x405f40
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
add eax, dword [ecx + 4]
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0x74], eax
mov eax, 0x949ea88e
jmp 0x405f40
mov eax, dword [esi + 0xcc]
mov ecx, 0x59219927
nop dword [eax]
cmp ecx, 0x59219927
je 0x407355
cmp ecx, 0x915df6d9
jne 0x407340
jmp 0x4077f8
mov ecx, 0x915df6d9
jmp 0x407340
mov edx, dword [0x4b23d0]
mov ecx, dword [0x4b23cc]
mov edi, 0xb3910841
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, 0x4c70e06a
jmp 0x40741c
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0xc]
mov edi, 0xf320908f
or eax, 4
mov dword [ecx], eax
mov edx, dword [0x4b23d0]
mov ecx, dword [0x4b23cc]
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, 0x280cebe0
jmp 0x405f25
mov eax, 0x40ce808
jmp 0x405f40
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0xc0], eax
mov eax, 0xef5b68b3
jmp 0x405f40
mov edx, dword [0x4b23d0]
mov ecx, dword [0x4b23cc]
mov edi, 0x649d8aa
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, 0x99f3afdb
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x405f40
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
mov ebx, 0x6a6489aa
mov edi, 0x1fe3a1e3
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x2c]
add eax, ebx
adc ecx, edi
sub eax, dword [edx]
sbb ecx, dword [edx + 4]
sub eax, ebx
mov dword [esi + 0x88], eax
mov eax, 0x37bd3175
sbb ecx, edi
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0x88]
mov dword [esi + 0x48], ecx
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0x44], ecx
jmp 0x405f40
cmp dword [esi + 0xc0], 0
mov eax, 0xda744ef3
sete byte [esi + 0x36]
jmp 0x405f40
mov ecx, dword [esi + 0x70]
push 0
push dword [esi + 0x74]
call fcn.00410d80
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x38]
call fcn.00410ec0
mov eax, 0x9305653f
jmp 0x405f40
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0x3c], eax
mov eax, 0x9e77e897
jmp 0x405f40
mov eax, 0x46cd7209
jmp 0x405f40
mov eax, dword [esi + 0x20]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov edx, dword [eax]
mov edx, dword [edx + 4]
lea eax, [eax + edx + 0x40]
mov edx, 0xef1ae9c4
nop word cs:[eax + eax]
cmp edx, 0xef1ae9c4
je 0x407515
cmp edx, 0x2adfa254
jne 0x407500
jmp 0x407815
mov edx, 0x2adfa254
jmp 0x407500
mov eax, 0x1d722deb
jmp 0x405f40
mov edx, dword [0x4b23d0]
mov ecx, dword [0x4b23cc]
mov edi, 0x15ab267c
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, 0x88f100c9
jmp 0x405f25
mov eax, dword [esi + 8]
mov edi, 0x9abe6418
mov ebx, 0xb44d766e
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 + 0xa0], eax
mov eax, dword [0x4b23d0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xb44d766e
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4b23cc], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x405f40
mov eax, 0x4b2586a5
jmp 0x405f40
mov eax, dword [esi + 0xa8]
mov edi, 0xed1e6737
mov eax, dword [eax]
mov eax, dword [eax + 4]
add eax, dword [esi + 0x58]
mov edx, dword [0x4b23b8]
lea ecx, [edx + 1]
imul ecx, edx
test cl, 1
sete dl
cmp dword [0x4b23b4], 0xa
setge dh
setl bl
or dh, cl
xor bl, dl
mov ecx, 0x915d8945
not dh
or dh, bl
mov ebx, 0x150ac9d8
test dh, 1
mov edx, 0x6382b2a5
cmovne ecx, edx
mov edx, 0x915d8945
cmovne edx, edi
nop
cmp ebx, 0xfeb0f67d
jle 0x407640
cmp ebx, 0xfeb0f67e
je 0x40765a
cmp ebx, 0x6382b2a5
je 0x407849
cmp ebx, 0x150ac9d8
jne 0x407610
mov dword [esi + 0x1c], eax
mov ebx, 0xfeb0f67e
jmp 0x407610
cmp ebx, 0x915d8945
je 0x40765e
cmp ebx, 0xed1e6737
jne 0x407610
mov edi, dword [esi + 0x1c]
mov ebx, ecx
mov edi, dword [edi + 0x14]
jmp 0x407610
mov ebx, edx
jmp 0x407610
mov ebx, dword [esi + 0x1c]
mov ebx, 0xed1e6737
jmp 0x407610
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x90]
mov edx, dword [esi + 0x94]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, 0x46b25d32
jmp 0x405f40
mov eax, dword [esi + 0x9c]
mov ebx, 0xcef6f095
mov edi, 0xaaf9245e
mov dword [esi + 0x18], eax
mov eax, dword [0x4b2418]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
cmp dword [0x4b2414], 0xa
setl cl
or cl, al
mov ecx, 0xcef6f095
mov eax, 0x488d7784
cmovne ecx, eax
mov eax, 0xf3752008
cmovne ebx, eax
mov dword [esi + 0x20], ecx
nop word cs:[eax + eax]
cmp edi, 0xf046e256
jle 0x407710
cmp edi, 0xf046e257
je 0x407727
cmp edi, 0xf3752008
je 0x40772b
cmp edi, 0x488d7784
jne 0x4076e0
jmp 0x407867
cmp edi, 0xaaf9245e
je 0x407730
cmp edi, 0xcef6f095
jne 0x4076e0
mov edi, 0xf3752008
jmp 0x4076e0
mov edi, ebx
jmp 0x4076e0
mov edi, dword [esi + 0x20]
jmp 0x4076e0
mov edi, 0xf046e257
push dword [esi + 0x18]
call fcn.00440f80
add esp, 4
jmp 0x4076e0
mov eax, dword [esi + 0x18]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x20]
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov eax, 0x8faa8305
jmp 0x405f40
mov eax, dword [esi + 0x20]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0xbc], eax
mov eax, dword [esi + 0x2c]
vmovsd xmm0, qword [eax]
mov eax, 0x4d99e294
vmovsd qword [esi + 0xe8], xmm0
jmp 0x405f40
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
movsx eax, byte [eax]
mov ecx, dword [esi + 0xc4]
push eax
call fcn.00410480
mov dword [esi + 0xcc], eax
mov eax, 0xc9740680
jmp 0x405f40
mov dword [esi + 0x10], edx
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 0xc4], eax
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0xc8], eax
mov eax, 0xf3fbc337
jmp 0x405f40
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x84], eax
mov dword [esi + 0x80], ecx
mov eax, 0x2dd20c08
jmp 0x405f40
cmp eax, 0xffffffff
mov eax, 0xd0b4ac56
mov ecx, 0x267175bb
sete byte [esi + 0x10]
cmp byte [esi + 0x10], 0
cmovne eax, ecx
jmp 0x405f40
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
movsx eax, byte [eax]
push eax
call fcn.00410480
mov ecx, 0x59219927
nop dword [eax]
cmp ecx, 0x59219927
je 0x407842
cmp ecx, 0x915df6d9
jne 0x407830
jmp 0x4078b9
mov ecx, 0x915df6d9
jmp 0x407830
mov dword [esi + 0x10], edi
mov eax, dword [esi + 0x10]
not eax
or eax, 0xfffffe3f
cmp eax, 0xffffffbf
mov eax, 0xf7e490d7
setne byte [esi + 0x33]
jmp 0x405f40
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 8]
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, 0x5d7f5dfc
nop word cs:[eax + eax]
cmp edx, 0x5d7f5dfc
je 0x4078b2
cmp edx, 0xef14833
jne 0x4078a0
jmp 0x4078d6
mov edx, 0xef14833
jmp 0x4078a0
cmp eax, 0xffffffff
mov eax, 0x41209b10
mov ecx, 0xa10e81be
sete byte [esi + 0x10]
cmp byte [esi + 0x10], 0
cmovne eax, ecx
jmp 0x405f40
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x7c], eax
mov dword [esi + 0x78], ecx
mov eax, 0x7f51c3e6
jmp 0x405f40
cmp eax, 0xac77e1a
jne 0x405f40
mov eax, dword [esi + 0x38]
mov eax, dword [esi + 0x24]
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 0xd4]
mov ecx, dword [esi + 0xf8]
xor ecx, ebp
call fcn.0043a770
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret