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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x4e0
lea esi, [esp + 0x38]
mov dword [esi], 0xff
lea eax, [esp + 0xe0]
push esi
push eax
call dword [str.en_TT]
mov eax, dword [esi]
mov dword [esp + 0x74], eax
mov dword [esp], 0x714bd626
lea ebp, [esp + 0x2e0]
mov eax, dword [esp]
cmp eax, 0x7e88042
jle 0x406a2e
cmp eax, 0x50ebfe12
jg 0x406a87
cmp eax, 0x233a3b8a
jle 0x406b32
cmp eax, 0x2f07e937
jle 0x406c89
cmp eax, 0x3386d0ab
jle 0x406e99
cmp eax, 0x3386d0ac
je 0x407375
cmp eax, 0x36cd3a40
je 0x4073af
cmp eax, 0x405ece1b
jne 0x406994
mov eax, dword [esp + 0x58]
inc eax
imul eax, dword [esp + 0x58]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x1cfbb8ae
and eax, 0xe3044751
or eax, edx
xor eax, 0xe3044750
xor ecx, eax
test ecx, eax
sete byte [esp + 0x19]
mov eax, dword [esp + 0x7c]
cmp eax, 0xa
setl byte [esp + 0x1a]
mov dword [esp], 0x3386d0ac
jmp 0x406994
cmp eax, 0xd3f2b4d2
jle 0x406aeb
cmp eax, 0xfb76d0ca
jle 0x406b7f
cmp eax, 0x18f1d7d
jle 0x406cb6
cmp eax, 0x2412a57
jle 0x406f16
cmp eax, 0x2412a58
je 0x4073e0
cmp eax, 0x55346d8
je 0x40740c
cmp eax, 0x7bed502
jne 0x406994
mov dword [esp], 0x9365ea94
jmp 0x406994
cmp eax, 0x66086d3b
jle 0x406bc5
cmp eax, 0x713080dd
jle 0x406ce7
cmp eax, 0x71932273
jle 0x406f64
cmp eax, 0x74b2495a
je 0x407490
cmp eax, 0x7c6ca956
jne 0x407bfc
mov eax, dword [0x45cae4]
mov dword [esp + 0x70], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x70]
dec eax
mov dword [esp + 0xc4], eax
mov dword [esp], 0x36cd3a40
jmp 0x406994
cmp eax, 0xb29882b0
jg 0x406c05
cmp eax, 0x9699d92a
jg 0x406d4e
cmp eax, 0x9365ea93
jg 0x406fac
cmp eax, 0x81756812
je 0x4074ed
cmp eax, 0x81af998a
jne 0x406994
mov eax, dword [esp + 0x30]
mov dword [esp], 0x610ff33a
jmp 0x406994
cmp eax, 0x19008446
jg 0x406da5
cmp eax, 0xc8a491b
jg 0x406ff8
cmp eax, 0x7e88043
je 0x4074f9
cmp eax, 0x91565af
jne 0x406994
mov eax, dword [0x45cae4]
mov dword [esp + 0x64], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0x90], eax
mov dword [esp], 0x66086d3c
jmp 0x406994
cmp eax, 0xecd83d94
jg 0x406dd2
cmp eax, 0xe2ac8d4a
jg 0x407036
cmp eax, 0xd3f2b4d3
je 0x407505
cmp eax, 0xe06f3e4a
jne 0x406994
cmp byte [esp + 0x1c], 0
mov eax, 0xc8a491c
jne 0x407a04
mov eax, 0xbf18ddfa
jmp 0x407a04
cmp eax, 0x56a0b0ab
jg 0x406e0c
cmp eax, 0x54fd949b
jg 0x40705c
cmp eax, 0x50ebfe13
je 0x407684
cmp eax, 0x5109566a
jne 0x406994
mov dword [esp + 0x38], 0xff
mov dword [esp], 0x50ebfe13
jmp 0x406994
cmp eax, 0xc3994468
jg 0x406e4b
cmp eax, 0xbdd88f66
jg 0x4070ed
cmp eax, 0xb29882b1
je 0x4076cd
cmp eax, 0xbd1d1608
jne 0x406994
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov ecx, 0xffffc67d
add eax, ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
add eax, ecx
mov dword [esp + 0xd8], eax
mov dword [esp], 0xd3f2b4d3
jmp 0x406994
cmp eax, 0x2a4b3a52
jg 0x40710f
cmp eax, 0x233a3b8b
je 0x40770b
cmp eax, 0x29cd8e04
jne 0x406994
mov dword [esp], 0xfcb9d71d
jmp 0x406994
cmp eax, 0xfcb9d71c
jg 0x407176
cmp eax, 0xfb76d0cb
je 0x407752
cmp eax, 0xfcb24f01
jne 0x406994
mov eax, dword [esp + 0x30]
mov dword [esp], 0x29cd8e04
jmp 0x406994
cmp eax, 0x6b56d3a6
jg 0x4071a4
cmp eax, 0x66086d3c
je 0x407794
cmp eax, 0x690626d2
jne 0x406994
cmp dword [esp + 0x94], 0
setne cl
mov eax, dword [esp + 0x90]
cmp eax, 0xa
setge ah
mov al, ah
or al, cl
xor ah, cl
mov ecx, eax
xor cl, ah
mov edx, 0x18f1d7e
mov edi, 0xfcb24f01
mov esi, 0x18f1d7e
test ah, ah
jne 0x406d42
mov esi, 0xfcb24f01
test al, al
cmovne esi, edi
test cl, cl
jmp 0x407bf1
cmp eax, 0x9d6f74a5
jg 0x40721a
cmp eax, 0x9699d92b
je 0x4077cd
cmp eax, 0x98a52f3b
jne 0x406994
cmp byte [esp + 0x17], 0
mov eax, 0xc3994469
jne 0x406d80
mov eax, 0x6d9762f7
mov dword [esp], eax
movzx eax, word [esp + 0x2c]
mov word [esp + 0x2a], ax
mov dword [esp + 0x50], 0x47
lea eax, [esp + 0xe0]
mov dword [esp + 0x4c], eax
jmp 0x406994
cmp eax, 0x1e03ac3a
jg 0x40727e
cmp eax, 0x19008447
je 0x40780d
cmp eax, 0x19423b17
jne 0x406994
mov dword [esp], 0xbf18ddfa
jmp 0x406994
cmp eax, 0xf8ae5320
jg 0x4072ae
cmp eax, 0xecd83d95
je 0x407819
cmp eax, 0xf758eca2
jne 0x406994
push 0xb09406c7
call fcn.00401d2c
add esp, 4
mov dword [esp], 0x81756812
jmp 0x406994
cmp eax, 0x5d52879b
jg 0x40730a
cmp eax, 0x56a0b0ac
je 0x407825
cmp eax, 0x599ed766
jne 0x406994
mov eax, dword [0x45cae4]
mov dword [esp + 0x54], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0x78], eax
mov dword [esp], 0x713080de
jmp 0x406994
cmp eax, 0xc7e2a6ae
jg 0x40732c
cmp eax, 0xc3994469
je 0x40783f
cmp eax, 0xc4549f4e
jne 0x406994
mov eax, dword [0x45cae4]
mov dword [esp + 0x6c], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x6c]
dec eax
mov dword [esp + 0xa8], eax
mov dword [esp], 0x2a4b3a53
jmp 0x406994
cmp eax, 0x2f07e938
je 0x40784b
cmp eax, 0x32576440
jne 0x406994
mov al, byte [esp + 0x20]
mov dl, byte [esp + 0x21]
mov ah, al
xor ah, 1
mov ecx, edx
xor cl, 1
and ah, al
mov ch, cl
and ch, dl
xor ah, 1
mov dh, al
xor dh, ah
or ah, al
xor ah, 1
or ah, dh
xor cl, ch
or cl, ch
mov ch, ah
xor ch, 1
and ch, cl
xor cl, 1
and cl, ah
or cl, ch
mov ah, al
xor ah, dl
or al, dl
xor al, 1
or al, ah
mov ah, al
xor ah, cl
mov esi, 0xecd83d95
mov edx, 0x7c6ca956
test ah, 1
jne 0x406f09
mov esi, 0x7c6ca956
test al, 1
cmovne edx, esi
test cl, 1
jmp 0x407747
cmp eax, 0x18f1d7e
je 0x407857
cmp eax, 0x1c8ef87
jne 0x406994
push 0xb09406c7
call fcn.00401d2c
add esp, 4
mov eax, dword [0x45cae4]
mov ecx, dword [0x45cae8]
mov dword [esp + 0xb8], ecx
lea ecx, [eax - 1]
imul ecx, eax
mov dword [esp + 0xbc], ecx
mov dword [esp], 0x2da05a07
jmp 0x406994
cmp eax, 0x713080de
je 0x407892
cmp eax, 0x714bd626
jne 0x406994
mov eax, dword [esp + 0x74]
cmp eax, 8
setne al
movzx ecx, word [esp + 0xe0]
mov word [esp + 0x2c], cx
cmp word [esp + 0x2c], 0
sete cl
or cl, al
mov byte [esp + 0x17], cl
mov dword [esp], 0x98a52f3b
jmp 0x406994
cmp eax, 0x9365ea94
je 0x4078f7
cmp eax, 0x939f2610
jne 0x406994
mov eax, dword [esp + 0xcc]
cmp eax, 0xa
setl cl
mov al, byte [esp + 0x22]
xor cl, al
xor cl, 1
and al, cl
xor al, 1
mov edx, eax
xor dl, cl
or al, cl
not al
or al, dl
and al, 1
mov byte [esp + 0x23], al
mov dword [esp], 0x209acf0b
jmp 0x406994
cmp eax, 0xc8a491c
je 0x407955
cmp eax, 0x120b3a8c
jne 0x406994
mov eax, dword [esp + 0xb0]
mov ecx, eax
not ecx
and ecx, 0xfffffffe
xor eax, 1
or eax, ecx
not eax
mov dword [esp + 0xb4], eax
mov dword [esp], 0x9d6f74a6
jmp 0x406994
cmp eax, 0xe2ac8d4b
je 0x407980
cmp eax, 0xe3907bbd
jne 0x406994
mov eax, dword [esp + 0x3c]
mov dword [esp], 0x2f07e938
jmp 0x406994
cmp eax, 0x54fd949c
je 0x4079f3
cmp eax, 0x566713ab
jne 0x406994
mov eax, dword [esp + 4]
mov eax, dword [esp + 0xdc]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 0x40]
mov dword [esp], 0x6b56d3a7
jmp 0x406994
cmp eax, 0xbdd88f67
je 0x407a0c
cmp eax, 0xbf18ddfa
jne 0x406994
mov dword [esp], 0x7e88043
jmp 0x406994
cmp eax, 0x2a4b3a53
je 0x407a18
cmp eax, 0x2da05a07
jne 0x406994
mov eax, dword [esp + 0xbc]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffe
and eax, 1
or eax, edx
xor ecx, eax
test ecx, eax
setne cl
mov eax, dword [esp + 0xb8]
cmp eax, 0xa
setge al
setl dl
xor dl, cl
xor dl, 1
and al, cl
or al, dl
xor al, 1
mov ecx, edx
and cl, al
xor al, dl
or al, cl
and al, 1
mov byte [esp + 0x1f], al
mov dword [esp], 0x56a0b0ac
jmp 0x406994
cmp eax, 0xfcb9d71d
je 0x407a65
cmp eax, 0xfd44c392
jne 0x406994
mov eax, dword [0x45cae8]
mov dword [esp + 0x80], eax
mov dword [esp], 0x74b2495a
jmp 0x406994
cmp eax, 0x6b56d3a7
je 0x407a71
cmp eax, 0x6d9762f7
jne 0x406994
mov eax, dword [esp + 0x4c]
imul esi, dword [esp + 0x50], 0x3983
movzx ecx, word [esp + 0x2a]
imul ecx, ecx, 0x1177f
mov edx, esi
not edx
or edx, ecx
not ecx
not edx
or ecx, esi
not ecx
mov esi, edx
and esi, ecx
xor ecx, edx
or ecx, esi
mov dword [esp + 0x3c], ecx
movzx ecx, word [eax + 2]
add eax, 2
mov edx, 0x19008447
test cx, cx
je 0x407201
mov edx, 0x6d9762f7
mov dword [esp], edx
mov edx, dword [esp + 0x3c]
mov word [esp + 0x2a], cx
mov dword [esp + 0x50], edx
mov dword [esp + 0x4c], eax
jmp 0x406994
cmp eax, 0x9d6f74a6
je 0x407a9a
cmp eax, 0xa8280019
jne 0x406994
cmp dword [esp + 0xc8], 0
sete cl
mov eax, dword [esp + 0xc0]
cmp eax, 0xa
setl dl
setge al
xor al, cl
mov ah, cl
xor ah, dl
or cl, dl
xor cl, 1
or cl, ah
mov edx, eax
xor dl, cl
mov ebx, 0xecd83d95
mov esi, 0x71932274
mov edi, 0xecd83d95
test cl, cl
jne 0x407274
mov edi, 0x71932274
test al, al
cmovne edi, ebx
jmp 0x407b44
cmp eax, 0x1e03ac3b
je 0x407af7
cmp eax, 0x209acf0b
jne 0x406994
cmp byte [esp + 0x23], 0
mov eax, 0x6b56d3a7
jne 0x407a04
mov eax, 0xbd1d1608
jmp 0x407a04
cmp eax, 0xf8ae5321
je 0x407b51
cmp eax, 0xf9f9ece7
jne 0x406994
mov ecx, dword [0x45cae4]
mov eax, dword [0x45cae8]
mov dword [esp + 0xcc], eax
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xa798d46f
and eax, 0x58672b90
or eax, edx
xor eax, 0xa798d46e
or eax, ecx
cmp eax, 0xffffffff
sete byte [esp + 0x22]
mov dword [esp], 0x939f2610
jmp 0x406994
cmp eax, 0x5d52879c
je 0x407b7c
cmp eax, 0x610ff33a
jne 0x406994
mov dword [esp], 0x91565af
jmp 0x406994
cmp eax, 0xc7e2a6af
je 0x407bb7
cmp eax, 0xcb69d5b3
jne 0x406994
cmp byte [esp + 0x1b], 0
mov eax, 0xf8ae5321
jne 0x407353
mov eax, 0xe2ac8d4b
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x5c]
movzx edx, word [esp + 0x2e]
mov word [esp + 0x28], dx
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], ecx
jmp 0x406994
mov dl, byte [esp + 0x19]
mov al, byte [esp + 0x1a]
xor dl, 1
xor al, 1
mov ecx, edx
and cl, al
xor al, dl
or cl, al
mov ah, cl
xor ah, al
mov esi, 0xe3907bbd
mov edx, 0x54fd949c
test ah, 1
jne 0x4073a2
mov esi, 0x54fd949c
test cl, 1
cmovne edx, esi
test al, 1
jmp 0x407747
mov eax, dword [esp + 0x70]
imul eax, dword [esp + 0xc4]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffe
and eax, 1
or eax, edx
xor ecx, eax
and ecx, eax
mov dword [esp + 0xc8], ecx
mov dword [esp], 0xa8280019
jmp 0x406994
mov eax, dword [esp + 0x3c]
cmp eax, 0x56cf7626
sete byte [esp + 0x18]
mov eax, dword [0x45cae4]
mov dword [esp + 0x58], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0x7c], eax
mov dword [esp], 0x405ece1b
jmp 0x406994
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
mov eax, dword [0x45cae4]
mov ecx, dword [0x45cae8]
mov dword [esp + 0xd0], ecx
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
not eax
and ecx, 0xeeff6ff5
mov edx, eax
and edx, 0x1100900a
or edx, ecx
xor edx, 0x1100900b
and eax, 0xfffffffe
or eax, edx
not eax
mov dword [esp + 0xd4], eax
mov dword [esp], 0x233a3b8b
jmp 0x406994
mov eax, dword [esp + 0x60]
inc eax
imul eax, dword [esp + 0x60]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xbadafd2f
and eax, 0x452502d0
or eax, edx
xor eax, 0xbadafd2e
or eax, ecx
cmp eax, 0xffffffff
sete al
mov ecx, dword [esp + 0x80]
cmp ecx, 0xa
setl cl
xor cl, al
mov edx, ecx
xor dl, 1
and al, dl
xor dl, al
mov esi, 0xf9f9ece7
mov edx, 0xcb69d5b3
jne 0x4074e3
mov esi, 0xcb69d5b3
test cl, cl
cmove edx, esi
jmp 0x407745
mov dword [esp], 0x1c8ef87
jmp 0x406994
mov dword [esp], 0xc3994469
jmp 0x406994
mov eax, dword [esp + 0xd8]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
imul eax, dword [esp + 0xc], 0x3983
mov dword [esp + 4], eax
movzx eax, word [esp + 0x14]
imul eax, eax, 0x1177f
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov eax, dword [esp + 8]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 8]
mov eax, dword [esp + 8]
mov eax, dword [esp + 8]
mov eax, dword [esp + 8]
mov eax, dword [esp + 8]
mov eax, dword [esp + 8]
mov eax, dword [esp + 8]
mov eax, dword [esp + 8]
mov eax, dword [esp + 8]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
mov eax, dword [esp + 8]
mov eax, dword [esp + 4]
xor eax, eax
sub eax, dword [esp + 8]
mov dword [esp + 0xdc], eax
mov dword [esp], 0x566713ab
jmp 0x406994
lea eax, [esp + 0x38]
push eax
push ebp
call dword [0x45abdc]
movzx eax, word [esp + 0x2e0]
mov ecx, 0xbf18ddfa
mov edx, 0xbf18ddfa
test ax, ax
je 0x4076ac
mov edx, 0xe2ac8d4b
cmp dword [esp + 0x38], 7
cmovne edx, ecx
mov dword [esp], edx
mov word [esp + 0x28], ax
mov dword [esp + 0x48], 0x47
mov dword [esp + 0x44], ebp
jmp 0x406994
mov dl, byte [esp + 0x1d]
mov ah, byte [esp + 0x1e]
mov al, dl
xor al, 1
mov cl, ah
xor cl, 1
and ah, al
or al, cl
and cl, dl
or cl, ah
mov ah, al
xor ah, cl
mov esi, 0x81af998a
mov edx, 0xe06f3e4a
test ah, 1
jne 0x4076fe
mov esi, 0xe06f3e4a
test cl, 1
cmove edx, esi
test al, 1
jmp 0x407bf1
cmp dword [esp + 0xd4], 0
setne al
mov ecx, dword [esp + 0xd0]
cmp ecx, 0xa
setge dl
mov ecx, eax
and cl, dl
xor al, dl
or cl, al
mov edx, ecx
xor dl, al
mov esi, 0xbd1d1608
mov edx, 0x7bed502
jne 0x407740
mov esi, 0x7bed502
test cl, cl
cmovne edx, esi
test al, al
cmove edx, esi
mov dword [esp], edx
jmp 0x406994
mov ecx, dword [0x45cae4]
mov eax, dword [0x45cae8]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
not ecx
and ecx, 0xfffffffe
xor edx, 1
or edx, ecx
xor edx, 0xfc2b95e5
cmp edx, 0x3d46a1a
sete byte [esp + 0x20]
cmp eax, 0xa
setl byte [esp + 0x21]
mov dword [esp], 0x32576440
jmp 0x406994
mov eax, dword [esp + 0x64]
inc eax
imul eax, dword [esp + 0x64]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xb29b8c23
and eax, 0x4d6473dc
or eax, edx
xor eax, 0x4d6473dd
xor ecx, eax
and ecx, eax
mov dword [esp + 0x94], ecx
mov dword [esp], 0x690626d2
jmp 0x406994
mov ecx, dword [esp + 0x68]
imul ecx, dword [esp + 0x9c]
mov eax, ecx
not eax
and ecx, 0x844d05f5
mov edx, eax
and edx, 0x7bb2fa0a
or edx, ecx
xor edx, 0x7bb2fa0b
and eax, 0xfffffffe
or eax, edx
not eax
mov dword [esp + 0xa0], eax
mov dword [esp], 0x1e03ac3b
jmp 0x406994
mov dword [esp], 0x599ed766
jmp 0x406994
mov dword [esp], 0x7c6ca956
jmp 0x406994
cmp byte [esp + 0x1f], 0
mov eax, 0x19423b17
jne 0x407a04
mov eax, 0xf758eca2
jmp 0x407a04
mov dword [esp], 0xfb76d0cb
jmp 0x406994
mov dword [esp], 0x2412a58
jmp 0x406994
mov eax, dword [esp + 0x30]
cmp eax, 0xb09406c7
sete byte [esp + 0x1c]
mov eax, dword [0x45cae4]
mov dword [esp + 0x68], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x68]
dec eax
mov dword [esp + 0x9c], eax
mov dword [esp], 0x9699d92b
jmp 0x406994
mov eax, dword [esp + 0x54]
inc eax
imul eax, dword [esp + 0x54]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffe
and eax, 1
or eax, edx
xor ecx, eax
test ecx, eax
sete cl
setne dl
mov eax, dword [esp + 0x78]
cmp eax, 0xa
setge al
setl ah
and dl, ah
and al, cl
or al, dl
mov edx, ecx
xor dl, ah
or cl, ah
xor cl, 1
or cl, dl
mov edx, ecx
xor dl, al
mov esi, 0xe3907bbd
mov edi, 0x2412a58
mov ebx, 0xe3907bbd
test cl, cl
jne 0x407b3f
mov ebx, 0x2412a58
jmp 0x407b3f
imul eax, dword [esp + 0xc], 0x3983
movzx ecx, word [esp + 0x14]
imul ecx, ecx, 0x1177f
mov edx, eax
xor edx, ecx
and eax, edx
and edx, ecx
mov ecx, eax
and ecx, edx
xor edx, eax
or edx, ecx
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x40]
add eax, 2
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x5c]
movzx eax, word [eax]
mov word [esp + 0x2e], ax
cmp word [esp + 0x2e], 0
sete byte [esp + 0x1b]
mov eax, dword [0x45cae4]
mov dword [esp + 0x60], eax
mov dword [esp], 0xfd44c392
jmp 0x406994
mov eax, dword [0x45cae4]
mov ecx, dword [0x45cae8]
mov dword [esp + 0xac], ecx
lea ecx, [eax - 1]
imul ecx, eax
mov dword [esp + 0xb0], ecx
mov dword [esp], 0x120b3a8c
jmp 0x406994
mov eax, dword [esp + 0x44]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
movzx eax, word [esp + 0x28]
mov ecx, dword [0x45cae4]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
not ecx
and ecx, 0xfffffffe
xor edx, 1
or edx, ecx
xor edx, 0xe29be32a
xor edx, 0x1d641cd5
sete dl
setne ch
cmp dword [0x45cae8], 0xa
mov word [esp + 0x14], ax
setl cl
setge al
or al, ch
xor cl, dl
mov edx, eax
xor dl, cl
mov esi, 0xf9f9ece7
mov edx, 0x9365ea94
jne 0x407bea
mov esi, 0x9365ea94
jmp 0x407bea
cmp byte [esp + 0x18], 0
mov eax, 0xbdd88f67
jne 0x407a04
mov eax, 0xc3994469
mov dword [esp], eax
jmp 0x406994
mov dword [esp], 0x5109566a
jmp 0x406994
mov eax, dword [esp + 0x6c]
imul eax, dword [esp + 0xa8]
mov ecx, eax
not ecx
and eax, 0x929a33bf
mov edx, ecx
and edx, 0x6d65cc40
or edx, eax
xor edx, 0x6d65cc41
and ecx, 0xfffffffe
or ecx, edx
cmp ecx, 0xffffffff
sete byte [esp + 0x1d]
mov eax, dword [esp + 0xa4]
cmp eax, 0xa
setl byte [esp + 0x1e]
mov dword [esp], 0xb29882b1
jmp 0x406994
mov dword [esp], 0x18f1d7e
jmp 0x406994
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
imul eax, dword [esp + 0xc], 0x3983
mov dword [esp + 0x10], eax
movzx eax, word [esp + 0x14]
mov dword [esp + 0x34], eax
mov dword [esp], 0x55346d8
jmp 0x406994
cmp dword [esp + 0xb4], 0
sete dl
setne ah
mov ecx, dword [esp + 0xac]
cmp ecx, 0xa
setge al
setl cl
and ah, cl
and al, dl
or al, ah
mov ah, cl
xor ah, dl
or cl, dl
xor cl, 1
or cl, ah
mov edx, ecx
xor dl, al
mov edi, 0xf758eca2
mov esi, 0x1c8ef87
mov ebx, 0xf758eca2
test cl, cl
jne 0x407ae5
mov ebx, 0x1c8ef87
test al, al
cmovne edi, ebx
test dl, dl
cmovne esi, edi
mov dword [esp], esi
jmp 0x406994
cmp dword [esp + 0xa0], 0
setne dl
sete ah
mov ecx, dword [esp + 0x98]
cmp ecx, 0xa
setl al
setge cl
and ah, cl
and al, dl
or al, ah
mov ah, cl
and ah, dl
xor cl, dl
or cl, ah
mov edx, ecx
xor dl, al
mov esi, 0xfcb24f01
mov edi, 0xc4549f4e
mov ebx, 0xfcb24f01
test cl, cl
jne 0x407b3f
mov ebx, 0xc4549f4e
test al, al
cmovne esi, ebx
test dl, dl
cmovne edi, esi
mov dword [esp], edi
jmp 0x406994
mov eax, dword [0x45cae4]
mov ecx, dword [0x45cae8]
mov dword [esp + 0x84], ecx
lea ecx, [eax - 1]
imul ecx, eax
mov dword [esp + 0x88], ecx
mov dword [esp], 0x5d52879c
jmp 0x406994
mov ecx, dword [esp + 0x88]
mov eax, ecx
not eax
and ecx, 0x1bb2ddbe
mov edx, eax
and edx, 0xe44d2241
or edx, ecx
xor edx, 0xe44d2240
and eax, 0xfffffffe
or eax, edx
not eax
mov dword [esp + 0x8c], eax
mov dword [esp], 0xc7e2a6af
jmp 0x406994
cmp dword [esp + 0x8c], 0
setne dl
mov eax, dword [esp + 0x84]
cmp eax, 0xa
setge cl
mov eax, ecx
or al, dl
xor cl, dl
mov edx, eax
xor dl, cl
mov esi, 0x81af998a
mov edx, 0x91565af
jne 0x407bea
mov esi, 0x91565af
test cl, cl
cmove edx, esi
test al, al
cmovne edx, esi
mov dword [esp], edx
jmp 0x406994
cmp eax, 0x71932274
jne 0x406994
xor eax, eax
add esp, 0x4e0
pop esi
pop edi
pop ebx
pop ebp
ret