Function at 0x406f60
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x4ce135
mov eax, dword fs:[0]
push eax
sub esp, 0x39c
mov eax, dword [0x50c620]
xor eax, esp
mov dword [esp + 0x398], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x50c620]
xor eax, esp
push eax
lea eax, [esp + 0x3b0]
mov dword fs:[0], eax
cmp byte [esp + 0x3c8], 0
mov ebx, dword [esp + 0x3c0]
mov edi, dword [esp + 0x3c4]
mov ebp, dword [esp + 0x3cc]
mov esi, dword [esp + 0x3dc]
je 0x406fd9
cmp dword [edi + 0x14], 8
mov dword [edi + 0x10], 0
jb 0x406fd2
mov eax, dword [edi]
jmp 0x406fd4
mov eax, edi
xor ecx, ecx
mov word [eax], cx
cmp byte [esp + 0x3d0], 0
je 0x406fea
mov dword [ebp], 0
push 0x1e
xor eax, eax
mov dword [esp + 0x31c], 0
mov dword [esp + 0x320], 0
lea ecx, [esp + 0x30c]
push str.032037083400300016908381060006
mov dword [esp + 0x324], 7
mov dword [esp + 0x320], 0
mov word [esp + 0x310], ax
call fcn.00402ad0
mov dword [esp + 0x3b8], 0
xor eax, eax
push 0xffffffffffffffff
push eax
mov dword [esp + 0x140], 0
lea ecx, [esp + 0x130]
mov dword [esp + 0x144], 0
push ebx
mov dword [esp + 0x148], 7
mov dword [esp + 0x144], 0
mov word [esp + 0x134], ax
call fcn.004029b0
mov byte [esp + 0x3b8], 1
mov eax, dword [esp + 0x138]
cmp eax, dword [esp + 0x318]
jne 0x408b4b
push 1
push 0
lea eax, [esp + 0x208]
push eax
lea ecx, [esp + 0x134]
call fcn.0040cca0
mov byte [esp + 0x3b8], 2
lea eax, [esp + 0x1d0]
push 2
push 1
push eax
lea ecx, [esp + 0x134]
call fcn.0040cca0
mov byte [esp + 0x3b8], 3
lea eax, [esp + 0x1a0]
push 2
push 3
push eax
lea ecx, [esp + 0x134]
call fcn.0040cca0
mov byte [esp + 0x3b8], 4
lea eax, [esp + 0x248]
push 2
push 5
push eax
lea ecx, [esp + 0x134]
call fcn.0040cca0
mov byte [esp + 0x3b8], 5
lea eax, [esp + 0x1e8]
push 2
push 7
push eax
lea ecx, [esp + 0x134]
call fcn.0040cca0
mov byte [esp + 0x3b8], 6
lea eax, [esp + 0x1b8]
push 2
push 9
push eax
lea ecx, [esp + 0x134]
call fcn.0040cca0
mov byte [esp + 0x3b8], 7
lea eax, [esp + 0x290]
push 2
push 0xb
push eax
lea ecx, [esp + 0x134]
call fcn.0040cca0
mov byte [esp + 0x3b8], 8
lea eax, [esp + 0x2d8]
push 2
push 0xd
push eax
lea ecx, [esp + 0x134]
call fcn.0040cca0
mov byte [esp + 0x3b8], 9
lea eax, [esp + 0x320]
push 1
push 0xf
push eax
lea ecx, [esp + 0x134]
call fcn.0040cca0
mov byte [esp + 0x3b8], 0xa
lea eax, [esp + 0x218]
push 2
push 0x10
push eax
lea ecx, [esp + 0x134]
call fcn.0040cca0
mov byte [esp + 0x3b8], 0xb
push 2
push 0x12
lea eax, [esp + 0x2b0]
push eax
lea ecx, [esp + 0x134]
call fcn.0040cca0
mov byte [esp + 0x3b8], 0xc
lea eax, [esp + 0x230]
push 2
push 0x14
push eax
lea ecx, [esp + 0x134]
call fcn.0040cca0
mov byte [esp + 0x3b8], 0xd
lea eax, [esp + 0x278]
push 2
push 0x16
push eax
lea ecx, [esp + 0x134]
call fcn.0040cca0
mov byte [esp + 0x3b8], 0xe
lea eax, [esp + 0x2c0]
push 2
push 0x18
push eax
lea ecx, [esp + 0x134]
call fcn.0040cca0
mov byte [esp + 0x3b8], 0xf
lea eax, [esp + 0x260]
push 2
push 0x1a
push eax
lea ecx, [esp + 0x134]
call fcn.0040cca0
mov byte [esp + 0x3b8], 0x10
lea eax, [esp + 0x2f0]
push 2
push 0x1c
push eax
lea ecx, [esp + 0x134]
call fcn.0040cca0
mov byte [esp + 0x3b8], 0x11
lea eax, [esp + 0x1a0]
push eax
lea edx, [esp + 0x204]
lea ecx, [esp + 0x114]
call fcn.0040d030
add esp, 4
mov byte [esp + 0x3b8], 0x12
lea ecx, [esp + 0x1e8]
push ecx
mov edx, eax
lea ecx, [esp + 0x144]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x13
lea ecx, [esp + 0x290]
push ecx
mov edx, eax
lea ecx, [esp + 0x24]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x14
lea ecx, [esp + 0x260]
push ecx
mov edx, eax
lea ecx, [esp + 0x174]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x15
lea ecx, [esp + 0x218]
push ecx
mov edx, eax
lea ecx, [esp + 0x18c]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x16
lea ecx, [esp + 0x230]
push ecx
mov edx, eax
lea ecx, [esp + 0x84]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x17
lea ecx, [esp + 0x278]
push ecx
mov edx, eax
lea ecx, [esp + 0xfc]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x18
lea ecx, [esp + 0x1d0]
push ecx
mov edx, eax
lea ecx, [esp + 0xcc]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x19
lea ecx, [esp + 0x1b8]
push ecx
mov edx, eax
lea ecx, [esp + 0x9c]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x1a
lea ecx, [esp + 0x2d8]
push ecx
mov edx, eax
lea ecx, [esp + 0x6c]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x1b
lea ecx, [esp + 0x2c0]
push ecx
mov edx, eax
lea ecx, [esp + 0x54]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x1c
lea ecx, [esp + 0x2a8]
push ecx
mov edx, eax
lea ecx, [esp + 0xb4]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x1d
lea ecx, [esp + 0x2f0]
push ecx
mov edx, eax
lea ecx, [esp + 0x3c]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x1e
lea ecx, [esp + 0x248]
push ecx
mov edx, eax
lea ecx, [esp + 0xe4]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x1f
lea ecx, [esp + 0x320]
push ecx
mov edx, eax
lea ecx, [esp + 0x15c]
call fcn.0040d100
add esp, 4
mov ebx, eax
mov byte [esp + 0x3b8], 0x20
lea eax, [esp + 0x128]
cmp eax, ebx
je 0x4074db
cmp dword [esp + 0x13c], 8
jb 0x4074ae
push dword [esp + 0x128]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x13c], 7
push ebx
lea ecx, [esp + 0x12c]
mov dword [esp + 0x13c], 0
mov word [esp + 0x12c], ax
call fcn.004026a0
mov byte [esp + 0x3b8], 0x1f
cmp dword [esp + 0x16c], 8
jb 0x4074fc
push dword [esp + 0x158]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x16c], 7
mov dword [esp + 0x168], 0
mov word [esp + 0x158], ax
mov byte [esp + 0x3b8], 0x1e
cmp dword [esp + 0xf4], 8
jb 0x40753d
push dword [esp + 0xe0]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0xf4], 7
mov dword [esp + 0xf0], 0
mov word [esp + 0xe0], ax
mov byte [esp + 0x3b8], 0x1d
cmp dword [esp + 0x4c], 8
jb 0x407578
push dword [esp + 0x38]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x4c], 7
mov dword [esp + 0x48], 0
mov word [esp + 0x38], ax
mov byte [esp + 0x3b8], 0x1c
cmp dword [esp + 0xc4], 8
jb 0x4075b0
push dword [esp + 0xb0]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0xc4], 7
mov dword [esp + 0xc0], 0
mov word [esp + 0xb0], ax
mov byte [esp + 0x3b8], 0x1b
cmp dword [esp + 0x64], 8
jb 0x4075eb
push dword [esp + 0x50]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x64], 7
mov dword [esp + 0x60], 0
mov word [esp + 0x50], ax
mov byte [esp + 0x3b8], 0x1a
cmp dword [esp + 0x7c], 8
jb 0x40761d
push dword [esp + 0x68]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x7c], 7
mov dword [esp + 0x78], 0
mov word [esp + 0x68], ax
mov byte [esp + 0x3b8], 0x19
cmp dword [esp + 0xac], 8
jb 0x407655
push dword [esp + 0x98]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0xac], 7
mov dword [esp + 0xa8], 0
mov word [esp + 0x98], ax
mov byte [esp + 0x3b8], 0x18
cmp dword [esp + 0xdc], 8
jb 0x407696
push dword [esp + 0xc8]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0xdc], 7
mov dword [esp + 0xd8], 0
mov word [esp + 0xc8], ax
mov byte [esp + 0x3b8], 0x17
cmp dword [esp + 0x10c], 8
jb 0x4076d7
push dword [esp + 0xf8]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x10c], 7
mov dword [esp + 0x108], 0
mov word [esp + 0xf8], ax
mov byte [esp + 0x3b8], 0x16
cmp dword [esp + 0x94], 8
jb 0x407718
push dword [esp + 0x80]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x94], 7
mov dword [esp + 0x90], 0
mov word [esp + 0x80], ax
mov byte [esp + 0x3b8], 0x15
cmp dword [esp + 0x19c], 8
jb 0x407759
push dword [esp + 0x188]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x19c], 7
mov dword [esp + 0x198], 0
mov word [esp + 0x188], ax
mov byte [esp + 0x3b8], 0x14
cmp dword [esp + 0x184], 8
jb 0x40779a
push dword [esp + 0x170]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x184], 7
mov dword [esp + 0x180], 0
mov word [esp + 0x170], ax
mov byte [esp + 0x3b8], 0x13
cmp dword [esp + 0x34], 8
jb 0x4077d5
push dword [esp + 0x20]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], 0
mov word [esp + 0x20], ax
mov byte [esp + 0x3b8], 0x12
cmp dword [esp + 0x154], 8
jb 0x40780d
push dword [esp + 0x140]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x154], 7
mov dword [esp + 0x150], 0
mov word [esp + 0x140], ax
mov byte [esp + 0x3b8], 0x11
cmp dword [esp + 0x124], 8
jb 0x40784e
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
push 2
push eax
mov word [esp + 0x118], ax
lea ecx, [esp + 0x130]
lea eax, [esp + 0x118]
mov dword [esp + 0x128], 0
push eax
call fcn.0040cca0
mov ebx, eax
mov byte [esp + 0x3b8], 0x21
lea eax, [esp + 0x200]
cmp eax, ebx
je 0x4078e0
cmp dword [esp + 0x214], 8
jb 0x4078b3
push dword [esp + 0x200]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x214], 7
push ebx
lea ecx, [esp + 0x204]
mov dword [esp + 0x214], 0
mov word [esp + 0x204], ax
call fcn.004026a0
mov byte [esp + 0x3b8], 0x11
cmp dword [esp + 0x124], 8
jb 0x407901
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
push 2
mov word [esp + 0x114], ax
lea ecx, [esp + 0x12c]
push 2
lea eax, [esp + 0x118]
mov dword [esp + 0x128], 0
push eax
call fcn.0040cca0
mov ebx, eax
mov byte [esp + 0x3b8], 0x22
lea eax, [esp + 0x1d0]
cmp eax, ebx
je 0x407994
cmp dword [esp + 0x1e4], 8
jb 0x407967
push dword [esp + 0x1d0]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x1e4], 7
push ebx
lea ecx, [esp + 0x1d4]
mov dword [esp + 0x1e4], 0
mov word [esp + 0x1d4], ax
call fcn.004026a0
mov byte [esp + 0x3b8], 0x11
cmp dword [esp + 0x124], 8
jb 0x4079b5
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
push 2
mov word [esp + 0x114], ax
lea ecx, [esp + 0x12c]
push 4
lea eax, [esp + 0x118]
mov dword [esp + 0x128], 0
push eax
call fcn.0040cca0
mov ebx, eax
mov byte [esp + 0x3b8], 0x23
lea eax, [esp + 0x1a0]
cmp eax, ebx
je 0x407a48
cmp dword [esp + 0x1b4], 8
jb 0x407a1b
push dword [esp + 0x1a0]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x1b4], 7
push ebx
lea ecx, [esp + 0x1a4]
mov dword [esp + 0x1b4], 0
mov word [esp + 0x1a4], ax
call fcn.004026a0
mov byte [esp + 0x3b8], 0x11
cmp dword [esp + 0x124], 8
jb 0x407a69
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
push 2
mov word [esp + 0x114], ax
lea ecx, [esp + 0x12c]
push 6
lea eax, [esp + 0x118]
mov dword [esp + 0x128], 0
push eax
call fcn.0040cca0
mov ebx, eax
mov byte [esp + 0x3b8], 0x24
lea eax, [esp + 0x248]
cmp eax, ebx
je 0x407afc
cmp dword [esp + 0x25c], 8
jb 0x407acf
push dword [esp + 0x248]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x25c], 7
push ebx
lea ecx, [esp + 0x24c]
mov dword [esp + 0x25c], 0
mov word [esp + 0x24c], ax
call fcn.004026a0
mov byte [esp + 0x3b8], 0x11
cmp dword [esp + 0x124], 8
jb 0x407b1d
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
push 2
mov word [esp + 0x114], ax
lea ecx, [esp + 0x12c]
push 8
lea eax, [esp + 0x118]
mov dword [esp + 0x128], 0
push eax
call fcn.0040cca0
mov ebx, eax
mov byte [esp + 0x3b8], 0x25
lea eax, [esp + 0x1e8]
cmp eax, ebx
je 0x407bb0
cmp dword [esp + 0x1fc], 8
jb 0x407b83
push dword [esp + 0x1e8]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x1fc], 7
push ebx
lea ecx, [esp + 0x1ec]
mov dword [esp + 0x1fc], 0
mov word [esp + 0x1ec], ax
call fcn.004026a0
mov byte [esp + 0x3b8], 0x11
cmp dword [esp + 0x124], 8
jb 0x407bd1
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
push 2
mov word [esp + 0x114], ax
lea ecx, [esp + 0x12c]
push 0xa
lea eax, [esp + 0x118]
mov dword [esp + 0x128], 0
push eax
call fcn.0040cca0
mov ebx, eax
mov byte [esp + 0x3b8], 0x26
lea eax, [esp + 0x1b8]
cmp eax, ebx
je 0x407c64
cmp dword [esp + 0x1cc], 8
jb 0x407c37
push dword [esp + 0x1b8]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x1cc], 7
push ebx
lea ecx, [esp + 0x1bc]
mov dword [esp + 0x1cc], 0
mov word [esp + 0x1bc], ax
call fcn.004026a0
mov byte [esp + 0x3b8], 0x11
cmp dword [esp + 0x124], 8
jb 0x407c85
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
push 2
mov word [esp + 0x114], ax
lea ecx, [esp + 0x12c]
push 0xc
lea eax, [esp + 0x118]
mov dword [esp + 0x128], 0
push eax
call fcn.0040cca0
mov byte [esp + 0x3b8], 0x27
lea ecx, [esp + 0x290]
push eax
call fcn.004024d0
mov byte [esp + 0x3b8], 0x11
cmp dword [esp + 0x124], 8
jb 0x407cf3
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
push 2
mov word [esp + 0x114], ax
lea ecx, [esp + 0x12c]
push 0xe
lea eax, [esp + 0x118]
mov dword [esp + 0x128], 0
push eax
call fcn.0040cca0
mov byte [esp + 0x3b8], 0x28
lea ecx, [esp + 0x2d8]
push eax
call fcn.004024d0
mov byte [esp + 0x3b8], 0x11
cmp dword [esp + 0x124], 8
jb 0x407d61
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
push 2
mov word [esp + 0x114], ax
lea ecx, [esp + 0x12c]
push 0x10
lea eax, [esp + 0x118]
mov dword [esp + 0x128], 0
push eax
call fcn.0040cca0
mov byte [esp + 0x3b8], 0x29
lea ecx, [esp + 0x218]
push eax
call fcn.004024d0
mov byte [esp + 0x3b8], 0x11
cmp dword [esp + 0x124], 8
jb 0x407dcf
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
push 2
mov word [esp + 0x114], ax
lea ecx, [esp + 0x12c]
push 0x12
lea eax, [esp + 0x118]
mov dword [esp + 0x128], 0
push eax
call fcn.0040cca0
mov byte [esp + 0x3b8], 0x2a
lea ecx, [esp + 0x2a8]
push eax
call fcn.004024d0
mov byte [esp + 0x3b8], 0x11
cmp dword [esp + 0x124], 8
jb 0x407e3d
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
push 2
mov word [esp + 0x114], ax
lea ecx, [esp + 0x12c]
push 0x14
lea eax, [esp + 0x118]
mov dword [esp + 0x128], 0
push eax
call fcn.0040cca0
mov byte [esp + 0x3b8], 0x2b
lea ecx, [esp + 0x230]
push eax
call fcn.004024d0
mov byte [esp + 0x3b8], 0x11
cmp dword [esp + 0x124], 8
jb 0x407eab
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
push 2
mov word [esp + 0x114], ax
lea ecx, [esp + 0x12c]
push 0x16
lea eax, [esp + 0x118]
mov dword [esp + 0x128], 0
push eax
call fcn.0040cca0
mov byte [esp + 0x3b8], 0x2c
lea ecx, [esp + 0x278]
push eax
call fcn.004024d0
mov byte [esp + 0x3b8], 0x11
cmp dword [esp + 0x124], 8
jb 0x407f19
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
push 2
mov word [esp + 0x114], ax
lea ecx, [esp + 0x12c]
push 0x18
lea eax, [esp + 0x118]
mov dword [esp + 0x128], 0
push eax
call fcn.0040cca0
mov byte [esp + 0x3b8], 0x2d
lea ecx, [esp + 0x2c0]
push eax
call fcn.004024d0
mov byte [esp + 0x3b8], 0x11
cmp dword [esp + 0x124], 8
jb 0x407f87
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
push 2
mov word [esp + 0x114], ax
lea ecx, [esp + 0x12c]
push 0x1a
lea eax, [esp + 0x118]
mov dword [esp + 0x128], 0
push eax
call fcn.0040cca0
mov byte [esp + 0x3b8], 0x2e
lea ecx, [esp + 0x260]
push eax
call fcn.004024d0
mov byte [esp + 0x3b8], 0x11
cmp dword [esp + 0x124], 8
jb 0x407ff5
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
push 2
mov word [esp + 0x114], ax
lea ecx, [esp + 0x12c]
push 0x1c
lea eax, [esp + 0x118]
mov dword [esp + 0x128], 0
push eax
call fcn.0040cca0
mov byte [esp + 0x3b8], 0x2f
lea ecx, [esp + 0x2f0]
push eax
call fcn.004024d0
mov byte [esp + 0x3b8], 0x11
cmp dword [esp + 0x124], 8
jb 0x408063
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
mov dword [esp + 0x120], 0
mov word [esp + 0x110], ax
cmp byte [esp + 0x3c8], al
je 0x408161
lea eax, [esp + 0x2c0]
push eax
lea edx, [esp + 0x2dc]
lea ecx, [esp + 0x144]
call fcn.0040d030
add esp, 4
mov byte [esp + 0x3b8], 0x30
lea ecx, [esp + 0x2a8]
push ecx
mov edx, eax
lea ecx, [esp + 0x114]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x31
mov ecx, edi
push eax
call fcn.004024d0
mov byte [esp + 0x3b8], 0x30
cmp dword [esp + 0x124], 8
jb 0x408100
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
mov dword [esp + 0x120], 0
mov word [esp + 0x110], ax
mov byte [esp + 0x3b8], 0x11
cmp dword [esp + 0x154], 8
jb 0x408141
push dword [esp + 0x140]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x154], 7
mov dword [esp + 0x150], 0
mov word [esp + 0x140], ax
cmp byte [esp + 0x3d0], 0
je 0x408609
lea eax, [esp + 0x1a0]
push eax
lea edx, [esp + 0x204]
lea ecx, [esp + 0x24]
call fcn.0040d030
add esp, 4
mov byte [esp + 0x3b8], 0x33
lea ecx, [esp + 0x1e8]
push ecx
mov edx, eax
lea ecx, [esp + 0x144]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x34
lea ecx, [esp + 0x290]
push ecx
mov edx, eax
lea ecx, [esp + 0x114]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x35
lea ecx, [esp + 0x260]
push ecx
mov edx, eax
lea ecx, [esp + 0x18c]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x37
cmp dword [esp + 0x124], 8
jb 0x40820e
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
mov dword [esp + 0x120], 0
mov word [esp + 0x110], ax
mov byte [esp + 0x3b8], 0x38
cmp dword [esp + 0x154], 8
jb 0x40824f
push dword [esp + 0x140]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x154], 7
mov dword [esp + 0x150], 0
mov word [esp + 0x140], ax
mov byte [esp + 0x3b8], 0x39
cmp dword [esp + 0x34], 8
jb 0x40828a
push dword [esp + 0x20]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x34], 7
mov word [esp + 0x20], ax
lea edx, [esp + 0x218]
lea eax, [esp + 0x230]
mov dword [esp + 0x30], 0
push eax
lea ecx, [esp + 0x24]
call fcn.0040d030
add esp, 4
mov byte [esp + 0x3b8], 0x3a
lea ecx, [esp + 0x278]
push ecx
mov edx, eax
lea ecx, [esp + 0x144]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x3b
lea ecx, [esp + 0x1d0]
push ecx
mov edx, eax
lea ecx, [esp + 0x114]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x3c
lea ecx, [esp + 0x1b8]
push ecx
mov edx, eax
lea ecx, [esp + 0x174]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x3e
cmp dword [esp + 0x124], 8
jb 0x408340
push dword [esp + 0x110]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x124], 7
mov dword [esp + 0x120], 0
mov word [esp + 0x110], ax
mov byte [esp + 0x3b8], 0x3f
cmp dword [esp + 0x154], 8
jb 0x408381
push dword [esp + 0x140]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x154], 7
mov dword [esp + 0x150], 0
mov word [esp + 0x140], ax
mov byte [esp + 0x3b8], 0x40
cmp dword [esp + 0x34], 8
jb 0x4083bc
push dword [esp + 0x20]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x34], 7
cmp dword [esp + 0x19c], 8
mov word [esp + 0x20], ax
lea eax, [esp + 0x188]
cmovae eax, dword [esp + 0x188]
push eax
mov dword [esp + 0x34], 0
call fcn.004b1ec7
add esp, 4
lea ecx, [esp + 0x170]
cmp dword [esp + 0x184], 8
mov ebx, eax
cmovae ecx, dword [esp + 0x170]
push ecx
call fcn.004b1ec7
add esp, 4
mov dword [esp + 0x18], 0
xor edi, edi
lea ecx, [esp + 0x110]
add edi, eax
push 0x4ecf30
adc ebx, 0
call fcn.00402470
mov byte [esp + 0x3b8], 0x41
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0x33c]
call fcn.004235c0
mov byte [esp + 0x3b8], 0x43
lea ecx, [esp + 0x110]
call fcn.00402150
xor eax, eax
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
mov dword [esp + 0x16c], 7
mov dword [esp + 0x168], 0
mov word [esp + 0x158], ax
mov byte [esp + 0x3b8], 0x44
lea eax, [esp + 0x158]
push eax
lea eax, [esp + 0x358]
push eax
lea ecx, [esp + 0x340]
call fcn.004237c0
test al, al
jne 0x40850c
push 0x4ed214
lea ecx, [esp + 0x114]
call fcn.00402470
mov byte [esp + 0x3b8], 0x45
lea eax, [esp + 0x158]
push eax
lea eax, [esp + 0x114]
push eax
lea ecx, [esp + 0x340]
call fcn.00423710
mov byte [esp + 0x3b8], 0x44
lea ecx, [esp + 0x110]
call fcn.00402150
xorps xmm0, xmm0
lea ecx, [esp + 0x36c]
movlpd qword [esp + 0x14], xmm0
call fcn.00422ad0
mov byte [esp + 0x3b8], 0x46
lea edx, [esp + 0x36c]
lea ecx, [esp + 0x158]
call fcn.00423f20
test al, al
je 0x40855d
mov ecx, dword [esp + 0x388]
xor eax, eax
add eax, dword [esp + 0x384]
mov dword [esp + 0x18], 0
adc ecx, 0
jmp 0x408565
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
cmp ecx, ebx
jb 0x4085a5
ja 0x40856f
cmp eax, edi
jb 0x4085a5
sub eax, edi
push 0
push 0x989680
sbb ecx, ebx
push ecx
push eax
call fcn.004b7370
push 0
push 0x3c
push edx
push eax
call fcn.004b7370
push 0
push 0x3c
push edx
push eax
call fcn.004b7370
push 0
push 0x18
push edx
push eax
call fcn.004b7370
mov dword [ebp], eax
mov byte [esp + 0x3b8], 0x44
lea ecx, [esp + 0x36c]
call fcn.00422b70
mov byte [esp + 0x3b8], 0x43
lea ecx, [esp + 0x158]
call fcn.00402150
mov byte [esp + 0x3b8], 0x40
lea ecx, [esp + 0x338]
call fcn.00423660
mov byte [esp + 0x3b8], 0x39
lea ecx, [esp + 0x170]
call fcn.00402150
mov byte [esp + 0x3b8], 0x11
lea ecx, [esp + 0x188]
call fcn.00402150
test esi, esi
je 0x408836
cmp dword [esi + 0x14], 8
mov dword [esi + 0x10], 0
jb 0x408622
mov eax, dword [esi]
jmp 0x408624
mov eax, esi
xor ecx, ecx
lea edx, [esp + 0x200]
mov word [eax], cx
lea eax, [esp + 0x1a0]
push eax
lea ecx, [esp + 0x18c]
call fcn.0040d030
add esp, 4
mov byte [esp + 0x3b8], 0x47
lea ecx, [esp + 0x1e8]
push ecx
mov edx, eax
lea ecx, [esp + 0x174]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x48
lea ecx, [esp + 0x290]
push ecx
mov edx, eax
lea ecx, [esp + 0x24]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x49
lea ecx, [esp + 0x260]
push ecx
mov edx, eax
lea ecx, [esp + 0x144]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x4b
lea ecx, [esp + 0x20]
call fcn.00402150
mov byte [esp + 0x3b8], 0x4c
lea ecx, [esp + 0x170]
call fcn.00402150
mov byte [esp + 0x3b8], 0x4d
lea ecx, [esp + 0x188]
call fcn.00402150
lea eax, [esp + 0x230]
push eax
lea edx, [esp + 0x21c]
lea ecx, [esp + 0x18c]
call fcn.0040d030
add esp, 4
mov byte [esp + 0x3b8], 0x4e
lea ecx, [esp + 0x278]
push ecx
mov edx, eax
lea ecx, [esp + 0x174]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x4f
lea ecx, [esp + 0x1d0]
push ecx
mov edx, eax
lea ecx, [esp + 0x24]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x50
lea ecx, [esp + 0x1b8]
push ecx
mov edx, eax
lea ecx, [esp + 0x114]
call fcn.0040d100
add esp, 4
mov byte [esp + 0x3b8], 0x52
lea ecx, [esp + 0x20]
call fcn.00402150
mov byte [esp + 0x3b8], 0x53
lea ecx, [esp + 0x170]
call fcn.00402150
mov byte [esp + 0x3b8], 0x54
lea ecx, [esp + 0x188]
call fcn.00402150
cmp dword [esp + 0x154], 8
lea eax, [esp + 0x140]
cmovae eax, dword [esp + 0x140]
push eax
call fcn.004b1ec7
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [esp + 0x124], 8
lea eax, [esp + 0x110]
cmovae eax, dword [esp + 0x110]
push eax
call fcn.004b1ec7
push ecx
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x28]
call fcn.004241a0
add esp, 8
mov byte [esp + 0x3b8], 0x55
mov ecx, esi
push eax
call fcn.004024d0
mov byte [esp + 0x3b8], 0x54
lea ecx, [esp + 0x20]
call fcn.00402150
mov byte [esp + 0x3b8], 0x4d
lea ecx, [esp + 0x110]
call fcn.00402150
mov byte [esp + 0x3b8], 0x11
lea ecx, [esp + 0x140]
call fcn.00402150
mov byte [esp + 0x3b8], 0x10
cmp dword [esp + 0x304], 8
jb 0x408857
push dword [esp + 0x2f0]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x304], 7
mov dword [esp + 0x300], 0
mov word [esp + 0x2f0], ax
mov byte [esp + 0x3b8], 0xf
cmp dword [esp + 0x274], 8
jb 0x408898
push dword [esp + 0x260]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x274], 7
mov dword [esp + 0x270], 0
mov word [esp + 0x260], ax
mov byte [esp + 0x3b8], 0xe
cmp dword [esp + 0x2d4], 8
jb 0x4088d9
push dword [esp + 0x2c0]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x2d4], 7
mov dword [esp + 0x2d0], 0
mov word [esp + 0x2c0], ax
mov byte [esp + 0x3b8], 0xd
cmp dword [esp + 0x28c], 8
jb 0x40891a
push dword [esp + 0x278]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x28c], 7
mov dword [esp + 0x288], 0
mov word [esp + 0x278], ax
mov byte [esp + 0x3b8], 0xc
cmp dword [esp + 0x244], 8
jb 0x40895b
push dword [esp + 0x230]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x244], 7
mov dword [esp + 0x240], 0
mov word [esp + 0x230], ax
mov byte [esp + 0x3b8], 0xb
cmp dword [esp + 0x2bc], 8
jb 0x40899c
push dword [esp + 0x2a8]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x2bc], 7
mov dword [esp + 0x2b8], 0
mov word [esp + 0x2a8], ax
mov byte [esp + 0x3b8], 0xa
cmp dword [esp + 0x22c], 8
jb 0x4089dd
push dword [esp + 0x218]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x22c], 7
mov dword [esp + 0x228], 0
mov word [esp + 0x218], ax
mov byte [esp + 0x3b8], 9
cmp dword [esp + 0x334], 8
jb 0x408a1e
push dword [esp + 0x320]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x334], 7
mov dword [esp + 0x330], 0
mov word [esp + 0x320], ax
mov byte [esp + 0x3b8], 8
cmp dword [esp + 0x2ec], 8
jb 0x408a5f
push dword [esp + 0x2d8]
call fcn.004b17b6
add esp, 4
xor eax, eax
mov dword [esp + 0x2ec], 7
mov dword [esp + 0x2e8], 0
mov word [esp + 0x2d8], ax
mov byte [esp + 0x3b8], 7
cmp dword [esp + 0x2a4], 8
jb 0x408aa0
push dword [esp + 0x290]
call fcn.004b17b6
add esp, 4
lea eax, [esp + 0x14]
mov dword [esp + 0x2a4], 7
push eax
lea eax, [esp + 0x294]
mov dword [esp + 0x18], 0
push eax
mov dword [esp + 0x2a8], 0
call fcn.00401890
add esp, 8
mov byte [esp + 0x3b8], 6
lea ecx, [esp + 0x1b8]
call fcn.00402150
mov byte [esp + 0x3b8], 5
lea ecx, [esp + 0x1e8]
call fcn.00402150
mov byte [esp + 0x3b8], 4
lea ecx, [esp + 0x248]
call fcn.00402150
mov byte [esp + 0x3b8], 3
lea ecx, [esp + 0x1a0]
call fcn.00402150
mov byte [esp + 0x3b8], 2
lea ecx, [esp + 0x1d0]
call fcn.00402150
mov byte [esp + 0x3b8], 1
lea ecx, [esp + 0x200]
call fcn.00402150
mov byte [esp + 0x3b8], 0
lea ecx, [esp + 0x128]
call fcn.00402150
mov dword [esp + 0x3b8], 0xffffffff
lea ecx, [esp + 0x308]
call fcn.00402150
mov ecx, dword [esp + 0x3b0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x398]
xor ecx, esp
call fcn.004b0ff2
add esp, 0x3a8
ret 0x20