Function at 0x40e5e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x50342b
push eax
mov dword fs:[0], esp
mov eax, 0x1f08
push ebx
call fcn.004de530
push esi
push edi
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x142]
movaps xmm0, xmmword [0x525c90]
movups xmmword [ebp - 0x142], xmm0
mov word [ebp - 0x132], 0x100
call fcn.00463750
lea eax, [ebp - 0x142]
push eax
lea edx, [ebx + 8]
lea ecx, [ebp - 0x1c8]
call fcn.0046a3b0
add esp, 4
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0x100889e
call fcn.00463960
lea ecx, [ebp - 0x1c8]
call fcn.004033a0
lea ecx, [ebp - 0x7c]
push ecx
push eax
call fcn.004e3620
mov edi, eax
add esp, 8
mov dword [ebp - 0x8c], edi
test edi, edi
je 0x40f8de
call fcn.0040c8e0
test eax, eax
mov dword [ebp - 0x1d], 0x80829fab
mov edx, 0x20119
mov dword [ebp - 0x19], 0xd5cfd489
setne byte [ebp - 0x2e]
mov dword [ebp - 0x15], 0xf9ff82
test eax, eax
mov byte [ebp - 0x11], 1
mov ecx, 0x20019
mov esi, 0x533bd4
cmovne ecx, edx
cmp dword [0x533be8], 0x10
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x1d]
cmovae esi, dword [0x533bd4]
call fcn.00463780
push esi
lea eax, [ebp - 0x1d]
push eax
push edi
call fcn.004037e0
movaps xmm0, xmmword [0x524f00]
lea ecx, [ebp - 0x45]
add esp, 0xc
mov byte [ebp - 0x35], 1
cmp dword [0x536144], 0x10
mov esi, 0x536130
movups xmmword [ebp - 0x45], xmm0
cmovae esi, dword [0x536130]
call fcn.00463720
push esi
lea eax, [ebp - 0x45]
push eax
push edi
call fcn.004037e0
add esp, 0xc
push 0
call fcn.004eb76b
add esp, 4
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0x100]
mov dword [ebp - 0xfc], edx
push eax
call fcn.004ebc53
add esp, 4
mov dword [ebp - 0x1a], 0x899f8bad
lea ecx, [ebp - 0x1a]
mov dword [ebp - 0x16], 0x83caced7
mov esi, eax
mov word [ebp - 0x12], 0x100
call fcn.004636f0
push esi
lea eax, [ebp - 0x1a]
push eax
push edi
call fcn.004037e0
add esp, 0xc
mov dword [ebp - 0x19], 0x828084bc
lea ecx, [ebp - 0x19]
mov dword [ebp - 0x15], 0x819982
mov byte [ebp - 0x11], 1
call fcn.004637b0
lea eax, [ebp - 0x19]
push eax
lea ecx, [ebp - 0x118]
call fcn.00403300
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xe0]
movaps xmm0, xmmword [0x526210]
movups xmmword [ebp - 0xe0], xmm0
mov dword [ebp - 0x90], 0
movaps xmm0, xmmword [0x524d80]
movups xmmword [ebp - 0xd0], xmm0
mov byte [ebp - 0xc0], 1
call fcn.004639d0
lea eax, [ebp - 0x90]
push eax
push dword [ebp - 0x34]
push 0
lea eax, [ebp - 0xe0]
push eax
push 0x80000002
call dword [0x50c004]
test eax, eax
jne 0x40e88c
lea ecx, [ebp - 0x2a]
mov dword [ebp - 0x78], 0x20019
mov dword [ebp - 0x6c], 0x400
mov dword [ebp - 0x2a], 0x84888ba4
mov dword [ebp - 0x26], 0xb78a8084
mov dword [ebp - 0x22], 0x979b84
mov byte [ebp - 0x1e], 1
call fcn.00463780
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0xa00]
push eax
lea eax, [ebp - 0x78]
push eax
push 0
lea eax, [ebp - 0x2a]
push eax
push dword [ebp - 0x90]
call dword [0x50c014]
test eax, eax
jne 0x40e880
lea ecx, [ebp - 0xa00]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e864
sub ecx, edx
lea eax, [ebp - 0xa00]
push ecx
push eax
lea ecx, [ebp - 0x118]
call fcn.00466240
push dword [ebp - 0x90]
call dword [0x50c00c]
cmp dword [ebp - 0x104], 0x10
lea esi, [ebp - 0x118]
movaps xmm0, xmmword [0x524ed0]
lea ecx, [ebp - 0x45]
cmovae esi, dword [ebp - 0x118]
movups xmmword [ebp - 0x45], xmm0
mov byte [ebp - 0x35], 1
call fcn.00463720
push esi
lea eax, [ebp - 0x45]
push eax
push edi
call fcn.004037e0
add esp, 0xc
mov dword [ebp - 0x6e], 0x828084bc
lea ecx, [ebp - 0x6e]
mov dword [ebp - 0x6a], 0x819982
mov byte [ebp - 0x66], 1
call fcn.004637b0
lea eax, [ebp - 0x6e]
push eax
lea ecx, [ebp - 0x130]
call fcn.00403300
push 0x7c
lea eax, [ebp - 0x428]
mov byte [ebp - 4], 6
push 0
push eax
call fcn.004df7b0
add esp, 0xc
lea eax, [ebp - 0x428]
push eax
call dword [0x50c010]
test eax, eax
je 0x40e93c
lea ecx, [ebp - 0x424]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e920
sub ecx, edx
lea eax, [ebp - 0x424]
push ecx
push eax
lea ecx, [ebp - 0x130]
call fcn.00466240
cmp dword [ebp - 0x11c], 0x10
lea esi, [ebp - 0x130]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xa8a2bfae
cmovae esi, dword [ebp - 0x130]
mov dword [ebp - 0x18], 0x83caced7
mov dword [ebp - 0x14], 0x100f8fc
call fcn.004636c0
push esi
lea eax, [ebp - 0x1c]
push eax
push edi
call fcn.004037e0
add esp, 0xc
lea ecx, [ebp - 0xd8]
call fcn.0040d830
mov dword [ebp - 0x74], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x7f]
mov word [ebp - 0x7f], 0xb6
mov byte [ebp - 0x7d], 1
call fcn.00463990
lea ecx, [ebp - 0x294]
call fcn.0040d7c0
mov esi, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x83]
mov word [ebp - 0x83], 0xb6
mov byte [ebp - 0x81], 1
call fcn.00463990
lea ecx, [ebp - 0x77]
mov word [ebp - 0x77], 0xb6
mov byte [ebp - 0x75], 1
call fcn.00463990
lea eax, [ebp - 0x77]
push eax
lea edx, [ebp - 0x118]
lea ecx, [ebp - 0x27c]
call fcn.0046a3b0
add esp, 4
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 9
push ecx
mov edx, eax
lea ecx, [ebp - 0x264]
call fcn.0046a5d0
add esp, 4
mov edx, eax
lea ecx, [ebp - 0x83]
mov byte [ebp - 4], 0xa
lea eax, [ecx + 1]
mov dword [ebp - 0x6c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ea22
sub ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x83]
push ecx
push eax
mov ecx, edx
call fcn.00468f90
push eax
lea ecx, [ebp - 0x18c]
call fcn.004032b0
push esi
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0xb
push eax
push dword [ebp - 0x88]
lea ecx, [ebp - 0x24c]
call fcn.0046de30
lea ecx, [ebp - 0x7f]
mov byte [ebp - 4], 0xc
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ea70
sub ecx, edx
lea eax, [ebp - 0x7f]
push ecx
push eax
lea ecx, [ebp - 0x24c]
call fcn.00468f90
push eax
lea ecx, [ebp - 0x234]
call fcn.004032b0
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x234]
push dword [ebp - 0x74]
lea ecx, [ebp - 0x15c]
push eax
push dword [ebp - 0x88]
call fcn.0046de30
lea ecx, [ebp - 0x234]
call fcn.00403260
lea ecx, [ebp - 0x24c]
call fcn.00403260
lea ecx, [ebp - 0x18c]
call fcn.00403260
lea ecx, [ebp - 0x264]
call fcn.00403260
lea ecx, [ebp - 0x27c]
call fcn.00403260
lea ecx, [ebp - 0x294]
call fcn.00403260
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x15
call fcn.00403260
xorps xmm0, xmm0
mov byte [ebp - 0x190], 0
lea ecx, [ebp - 0x3a8]
movups xmmword [ebp - 0x1b0], xmm0
movups xmmword [ebp - 0x1a0], xmm0
call fcn.004816d0
cmp dword [ebp - 0x148], 0x10
lea eax, [ebp - 0x15c]
push dword [ebp - 0x14c]
cmovae eax, dword [ebp - 0x15c]
lea ecx, [ebp - 0x3a8]
push eax
call fcn.004814d0
push 0
lea ecx, [ebp - 0x3a8]
call fcn.004815a0
cmp byte [ebp - 0x30c], 0
je 0x40eb8c
movups xmm0, xmmword [ebp - 0x2fb]
mov al, byte [ebp - 0x2db]
mov byte [ebp - 0x190], al
movups xmmword [ebp - 0x1b0], xmm0
movups xmm0, xmmword [ebp - 0x2eb]
movups xmmword [ebp - 0x1a0], xmm0
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xa8a2bda1
mov dword [ebp - 0x18], 0x83caced7
mov dword [ebp - 0x14], 0x100f8fc
call fcn.004636c0
lea eax, [ebp - 0x1b0]
push eax
lea eax, [ebp - 0x1c]
push eax
push edi
call fcn.004037e0
add esp, 0xc
lea eax, [ebp - 0xb08]
push 0x104
push 0
push eax
call fcn.004df7b0
add esp, 0xc
mov dword [ebp - 0x6c], 0
lea eax, [ebp - 0x6c]
push eax
push 0x40ca00
push 4
call dword [0x50c080]
push 0x104
lea eax, [ebp - 0xb08]
push eax
push dword [ebp - 0x6c]
call dword [0x50c24c]
lea ecx, [ebp - 0x2b]
mov dword [ebp - 0x2b], 0x8dbbe0e4
mov dword [ebp - 0x27], 0xd0d58699
mov dword [ebp - 0x23], 0xfefe81d4
mov word [ebp - 0x1f], 0x100
call fcn.00463690
lea eax, [ebp - 0xb08]
push eax
lea eax, [ebp - 0x2b]
push eax
push edi
call fcn.004037e0
movaps xmm0, xmmword [0x526ad0]
lea esi, [ebx + 8]
add esp, 0xc
mov word [ebp - 0x36], 0x100
cmp dword [ebx + 0x1c], 0x10
lea ecx, [ebp - 0x46]
movups xmmword [ebp - 0x46], xmm0
cmovae esi, dword [ebx + 8]
call fcn.00463750
push esi
lea eax, [ebp - 0x46]
push eax
push edi
call fcn.004037e0
add esp, 0xc
cmp dword [ebx + 0x60], 0
je 0x40ec7c
cmp dword [ebx + 0x64], 0x10
lea esi, [ebx + 0x50]
cmovae esi, dword [ebx + 0x50]
jmp 0x40ec81
mov esi, 0x520b00
lea ecx, [ebp - 0x1a]
mov dword [ebp - 0x1a], 0xccd1baa0
mov dword [ebp - 0x16], 0xfae29dc8
mov word [ebp - 0x12], 0x100
call fcn.004636f0
push esi
lea eax, [ebp - 0x1a]
push eax
push edi
call fcn.004037e0
add esp, 0xc
cmp dword [ebx + 0x48], 0
je 0x40ecbe
cmp dword [ebx + 0x4c], 0x10
lea esi, [ebx + 0x38]
cmovae esi, dword [ebx + 0x38]
jmp 0x40ecc3
mov esi, 0x520b00
cmp dword [ebx + 0x30], 0
je 0x40ecd9
cmp dword [ebx + 0x34], 0x10
lea eax, [ebx + 0x20]
cmovae eax, dword [ebx + 0x20]
mov dword [ebp - 0x6c], eax
jmp 0x40ece0
mov dword [ebp - 0x6c], 0x520b00
movaps xmm0, xmmword [0x525c60]
lea ecx, [ebp - 0x48]
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0x100f0f4
call fcn.00463660
push esi
push dword [ebp - 0x6c]
lea eax, [ebp - 0x48]
push eax
push edi
call fcn.004037e0
movaps xmm0, xmmword [0x526210]
lea ecx, [ebp - 0x62]
add esp, 0x10
mov dword [ebp - 0x9c], 0
movups xmmword [ebp - 0x62], xmm0
mov dword [ebp - 0x42], 0x626e787b
movaps xmm0, xmmword [0x525a30]
movups xmmword [ebp - 0x52], xmm0
mov dword [ebp - 0x3e], 0x626a5879
mov dword [ebp - 0x3a], 0x7a7c7b62
mov word [ebp - 0x36], 0x100
call fcn.00463630
lea eax, [ebp - 0x9c]
push eax
push dword [ebp - 0x34]
lea eax, [ebp - 0x62]
push 0
push eax
push 0x80000002
call dword [0x50c004]
test eax, eax
jne 0x40ee2a
lea ecx, [ebp - 0x2a]
mov dword [ebp - 0x34], 0x20019
mov dword [ebp - 0x74], 0x400
mov dword [ebp - 0x2a], 0x888498b9
mov dword [ebp - 0x26], 0xbe9b8d98
mov dword [ebp - 0x22], 0x969f90
mov byte [ebp - 0x1e], 1
call fcn.00463780
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xa00]
push eax
lea eax, [ebp - 0x34]
push eax
push 0
lea eax, [ebp - 0x2a]
push eax
push dword [ebp - 0x9c]
call dword [0x50c014]
test eax, eax
jne 0x40ee1e
cmp byte [ebp - 0x2e], al
je 0x40edda
mov dword [ebp - 0x6a], 0xdfdc91
lea esi, [ebp - 0x6a]
mov byte [ebp - 0x66], 1
jmp 0x40ede8
mov dword [ebp - 0x15], 0xd9d991
lea esi, [ebp - 0x15]
mov byte [ebp - 0x11], 1
mov ecx, esi
call fcn.00463a30
movaps xmm0, xmmword [0x5267e0]
lea ecx, [ebp - 0x48]
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0x100f0f4
call fcn.00463660
push esi
lea eax, [ebp - 0xa00]
push eax
lea eax, [ebp - 0x48]
push eax
push edi
call fcn.004037e0
add esp, 0x10
push dword [ebp - 0x9c]
call dword [0x50c00c]
push 0x104
lea eax, [ebp - 0xc10]
push 0
push eax
call fcn.004df7b0
add esp, 0xc
mov dword [ebp - 0xac], 0x104
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xc10]
push eax
call dword [0x50c128]
movaps xmm0, xmmword [0x526ab0]
lea ecx, [ebp - 0x49]
movups xmmword [ebp - 0x49], xmm0
mov dword [ebp - 0x39], 0xf1f78a
mov byte [ebp - 0x35], 1
call fcn.00463600
lea eax, [ebp - 0xc10]
push eax
lea eax, [ebp - 0x49]
push eax
push edi
call fcn.004037e0
add esp, 0xc
lea eax, [ebp - 0xd18]
push 0x104
push 0
push eax
call fcn.004df7b0
add esp, 0xc
mov dword [ebp - 0x88], 0x104
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0xd18]
push eax
call dword [0x50c020]
movaps xmm0, xmmword [0x524ec0]
lea ecx, [ebp - 0x45]
movups xmmword [ebp - 0x45], xmm0
mov byte [ebp - 0x35], 1
call fcn.00463720
lea eax, [ebp - 0xd18]
push eax
lea eax, [ebp - 0x45]
push eax
push edi
call fcn.004037e0
add esp, 0xc
call dword [0x50c318]
lea ecx, [ebp - 0x1d8]
push ecx
push eax
call dword [0x50c2fc]
movaps xmm0, xmmword [str.library_routine_called_out_of_sequence]
lea ecx, [ebp - 0x51]
movups xmmword [ebp - 0x51], xmm0
mov dword [ebp - 0x41], 0xdcc19496
mov dword [ebp - 0x3d], 0x25879ad8
mov dword [ebp - 0x39], 0x90f65
mov byte [ebp - 0x35], 1
call fcn.004635d0
push dword [ebp - 0x1cc]
lea eax, [ebp - 0x51]
push dword [ebp - 0x1d0]
push eax
push edi
call fcn.004037e0
push 0x400
lea eax, [ebp - 0x1318]
push 0
push eax
call fcn.004df7b0
add esp, 0x1c
lea eax, [ebp - 0x1318]
push 0x200
push eax
call dword [0x50c1d4]
movaps xmm0, xmmword [0x5265d0]
test eax, eax
mov byte [ebp - 0x35], 1
je 0x40efac
lea ecx, [ebp - 0x4d]
mov dword [ebp - 0x3d], 0x8bdedac3
movups xmmword [ebp - 0x4d], xmm0
mov dword [ebp - 0x39], 0xf5f38e
call fcn.004635a0
lea eax, [ebp - 0x1318]
push eax
lea eax, [ebp - 0x4d]
push eax
push edi
call fcn.004037e0
add esp, 0xc
jmp 0x40efda
lea ecx, [ebp - 0x51]
mov dword [ebp - 0x41], 0x92aedac3
movups xmmword [ebp - 0x51], xmm0
mov dword [ebp - 0x3d], 0x77909096
mov dword [ebp - 0x39], 0x90f6f
call fcn.004635d0
lea eax, [ebp - 0x51]
push eax
push edi
call fcn.004037e0
add esp, 8
movaps xmm0, xmmword [0x526770]
lea ecx, [ebp - 0x4a]
movups xmmword [ebp - 0x4a], xmm0
mov dword [ebp - 0x3a], 0xdcc1899c
mov word [ebp - 0x36], 0x100
call fcn.00463570
lea eax, [ebp - 0x4a]
push eax
push edi
call fcn.004037e0
push 0x200
lea eax, [ebp - 0xf18]
push 0
push eax
call fcn.004df7b0
mov esi, dword [0x50c308]
add esp, 0x14
push 0
push 0
call esi
mov dword [ebp - 0x74], eax
lea ecx, [eax*4]
push ecx
push 0x40
call dword [0x50c05c]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x40f0e4
push eax
push dword [ebp - 0x74]
call esi
xor esi, esi
mov dword [ebp - 0x74], eax
test eax, eax
je 0x40f0db
nop word [eax + eax]
push 0x200
lea eax, [ebp - 0xf18]
push eax
mov eax, dword [ebp - 0x34]
push 2
movzx eax, word [eax + esi*4]
push eax
call dword [0x50c068]
test esi, esi
jne 0x40f092
lea eax, [ebp - 0xf18]
push eax
push edi
call fcn.004037e0
add esp, 8
jmp 0x40f0bf
lea ecx, [ebp - 0x17]
mov dword [ebp - 0x17], 0xc9cbc5c9
mov word [ebp - 0x13], 0x9e
mov byte [ebp - 0x11], 1
call fcn.00463a00
lea eax, [ebp - 0xf18]
push eax
lea eax, [ebp - 0x17]
push eax
push edi
call fcn.004037e0
add esp, 0xc
push 0x200
lea eax, [ebp - 0xf18]
push 0
push eax
call fcn.004df7b0
inc esi
add esp, 0xc
cmp esi, dword [ebp - 0x74]
jb 0x40f060
push dword [ebp - 0x34]
call dword [0x50c0e0]
lea eax, [ebp - 0xbc]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0xbc], xmm0
call dword [0x50c0d4]
movaps xmm0, xmmword [0x526500]
lea ecx, [ebp - 0x57]
movups xmmword [ebp - 0x57], xmm0
mov word [ebp - 0x37], 3
movaps xmm0, xmmword [0x524f30]
movups xmmword [ebp - 0x47], xmm0
mov byte [ebp - 0x35], 1
call fcn.00463540
movzx eax, word [ebp - 0xb0]
push eax
movzx eax, word [ebp - 0xb2]
push eax
movzx eax, word [ebp - 0xb4]
push eax
movzx eax, word [ebp - 0xbc]
push eax
movzx eax, word [ebp - 0xba]
push eax
movzx eax, word [ebp - 0xb6]
push eax
lea eax, [ebp - 0x57]
push eax
push edi
call fcn.004037e0
add esp, 0x20
lea eax, [ebp - 0x1e8]
xorps xmm0, xmm0
movups xmmword [ebp - 0x1e8], xmm0
push eax
call dword [0x50c1d0]
push 0xac
lea eax, [ebp - 0x4d8]
push 0
push eax
call fcn.004df7b0
add esp, 0xc
lea eax, [ebp - 0x4d8]
push eax
call dword [0x50c084]
lea eax, [ebp - 0x21c]
xorps xmm0, xmm0
push eax
lea eax, [ebp - 0x1e8]
push eax
lea eax, [ebp - 0x4d8]
push eax
movups xmmword [ebp - 0x21c], xmm0
call dword [0x50c098]
movd xmm0, dword [ebp - 0x4d8]
lea ecx, [ebp - 0x47]
cvtdq2ps xmm0, xmm0
mov word [ebp - 0x37], 0xf3
mov byte [ebp - 0x35], 1
divss xmm0, dword [0x524c38]
xorps xmm0, xmmword [0x525a80]
movss dword [ebp - 0x74], xmm0
movaps xmm0, xmmword [0x526ae0]
movups xmmword [ebp - 0x47], xmm0
call fcn.00463870
cvttss2si eax, dword [ebp - 0x74]
push eax
lea eax, [ebp - 0x47]
push eax
push edi
call fcn.004037e0
add esp, 0xc
mov dword [ebp - 0x2d], 0xa4b0e0e4
lea ecx, [ebp - 0x2d]
mov dword [ebp - 0x29], 0x878b9c8c
mov dword [ebp - 0x25], 0xa9968090
mov dword [ebp - 0x21], 0x100fcf8
call fcn.00463510
lea eax, [ebp - 0x2d]
push eax
push edi
call fcn.004037e0
movaps xmm0, xmmword [0x526810]
lea ecx, [ebp - 0x64]
add esp, 8
mov dword [ebp - 0x94], 0
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x44], 0x5c676b7b
movaps xmm0, xmmword [0x5259e0]
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x40], 0x756c617f
mov dword [ebp - 0x3c], 0x667c6162
mov dword [ebp - 0x38], 0x1002649
call fcn.004639a0
lea eax, [ebp - 0x94]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x64]
push eax
push 0x80000002
call dword [0x50c004]
test eax, eax
jne 0x40f330
movaps xmm0, xmmword [0x525b50]
lea ecx, [ebp - 0x49]
mov dword [ebp - 0x34], 0x20019
mov dword [ebp - 0x74], 0x400
movups xmmword [ebp - 0x49], xmm0
mov dword [ebp - 0x39], 0x9c9490
mov byte [ebp - 0x35], 1
call fcn.00463600
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xa00]
push eax
lea eax, [ebp - 0x34]
push eax
push 0
lea eax, [ebp - 0x49]
push eax
push dword [ebp - 0x94]
call dword [0x50c014]
test eax, eax
jne 0x40f324
movaps xmm0, xmmword [0x524eb0]
lea ecx, [ebp - 0x45]
movups xmmword [ebp - 0x45], xmm0
mov byte [ebp - 0x35], 1
call fcn.00463720
lea eax, [ebp - 0xa00]
push eax
lea eax, [ebp - 0x45]
push eax
push edi
call fcn.004037e0
add esp, 0xc
push dword [ebp - 0x94]
call dword [0x50c00c]
xorps xmm0, xmm0
mov dword [ebp - 0x1ec], 0
lea eax, [ebp - 0x20c]
push eax
movups xmmword [ebp - 0x20c], xmm0
movups xmmword [ebp - 0x1fc], xmm0
call dword [0x50c0bc]
movaps xmm0, xmmword [0x524ee0]
lea ecx, [ebp - 0x45]
movups xmmword [ebp - 0x45], xmm0
mov byte [ebp - 0x35], 1
call fcn.00463720
push dword [ebp - 0x1f8]
lea eax, [ebp - 0x45]
push eax
push edi
call fcn.004037e0
add esp, 0xc
mov dword [ebp - 0x2d8], 0x40
lea eax, [ebp - 0x2d8]
push eax
call dword [0x50c0fc]
test eax, eax
je 0x40f3e2
lea ecx, [ebp - 0x2b]
mov dword [ebp - 0x2b], 0xd6a6abbb
mov dword [ebp - 0x27], 0xd09acbcd
mov dword [ebp - 0x23], 0xfefeb0bc
mov word [ebp - 0x1f], 0x100
call fcn.00463690
mov ecx, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x2cc]
shrd ecx, eax, 0x14
shr eax, 0x14
push eax
push ecx
lea eax, [ebp - 0x2b]
push eax
push edi
call fcn.004037e0
add esp, 0x10
lea ecx, [ebp - 0xa8]
call fcn.0046db50
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x16
call fcn.004652e0
push 0x1a4
lea eax, [ebp - 0x7a4]
mov dword [ebp - 0x34], 0
push 0
push eax
mov dword [ebp - 0x7a8], 0x1a8
call fcn.004df7b0
add esp, 0xc
lea eax, [ebp - 0x7a8]
push 1
push eax
push 0
push 0
call dword [0x50c300]
test eax, eax
je 0x40f5a3
nop
mov esi, dword [ebp - 0xa4]
mov eax, 0x2aaaaaab
mov ecx, esi
xor edi, edi
sub ecx, dword [ebp - 0xa8]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40f4d3
xor esi, esi
nop word [eax + eax]
lea eax, [ebp - 0x784]
push eax
lea ecx, [ebp - 0xd8]
call fcn.00403300
mov ecx, dword [ebp - 0xa8]
add ecx, esi
push eax
call fcn.0046de00
lea ecx, [ebp - 0xd8]
mov byte [ebp - 0x2e], al
call fcn.00403260
cmp byte [ebp - 0x2e], 0
jne 0x40f55c
mov ecx, dword [ebp - 0xa4]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0xa8]
inc edi
imul ecx
add esi, 0x18
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x40f470
mov esi, dword [ebp - 0xa4]
sub esi, dword [ebp - 0xa8]
lea ecx, [ebp - 0x49]
movaps xmm0, xmmword [0x526ac0]
mov eax, 0x2aaaaaab
imul esi
movups xmmword [ebp - 0x49], xmm0
mov dword [ebp - 0x39], 0xf1f78a
sar edx, 2
mov esi, edx
mov byte [ebp - 0x35], 1
shr esi, 0x1f
add esi, edx
call fcn.00463600
mov edi, dword [ebp - 0x8c]
lea eax, [ebp - 0x784]
push eax
push esi
lea eax, [ebp - 0x49]
push eax
push edi
call fcn.004037e0
add esp, 0x10
lea eax, [ebp - 0x784]
lea ecx, [ebp - 0x18c]
push eax
call fcn.00403300
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0xa8]
call fcn.0046b9b0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x16
call fcn.00403260
jmp 0x40f562
mov edi, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x34]
lea eax, [ebp - 0x7a4]
push 0x1a4
push 0
inc esi
mov dword [ebp - 0x7a8], 0x1a8
push eax
mov dword [ebp - 0x34], esi
call fcn.004df7b0
add esp, 0xc
lea eax, [ebp - 0x7a8]
push 1
push eax
push esi
push 0
call dword [0x50c300]
test eax, eax
jne 0x40f440
movaps xmm0, xmmword [0x524ef0]
lea ecx, [ebp - 0x45]
movups xmmword [ebp - 0x45], xmm0
mov byte [ebp - 0x35], 1
call fcn.00463720
lea eax, [ebp - 0x45]
push eax
push edi
call fcn.004037e0
add esp, 8
mov dword [ebp - 0x600], 0x128
push 0
push 2
call dword [0x50c070]
mov esi, eax
test esi, esi
je 0x40f663
lea eax, [ebp - 0x600]
push eax
push esi
call dword [0x50c1f4]
test eax, eax
je 0x40f65c
lea eax, [ebp - 0x600]
push eax
push esi
call dword [0x50c0b4]
test eax, eax
je 0x40f65c
nop dword [eax]
lea ecx, [ebp - 0x1b]
mov dword [ebp - 0x1b], 0xb7cb99cc
mov dword [ebp - 0x17], 0xfdb28ac8
mov word [ebp - 0x13], 0xfb
mov byte [ebp - 0x11], 1
call fcn.00463930
push dword [ebp - 0x5f8]
lea eax, [ebp - 0x5dc]
push eax
lea eax, [ebp - 0x1b]
push eax
push edi
call fcn.004037e0
add esp, 0x10
lea eax, [ebp - 0x600]
push eax
push esi
call dword [0x50c0b4]
test eax, eax
jne 0x40f610
push esi
call dword [0x50c0b8]
lea ecx, [ebp - 0x2d]
mov dword [ebp - 0x2d], 0xbfb0e0e4
mov dword [ebp - 0x29], 0x879b8882
mov dword [ebp - 0x25], 0xa9968090
mov dword [ebp - 0x21], 0x100fcf8
call fcn.00463510
lea eax, [ebp - 0x2d]
push eax
push edi
call fcn.004037e0
movaps xmm0, xmmword [0x526210]
lea ecx, [ebp - 0xf4]
movups xmmword [ebp - 0xf4], xmm0
add esp, 8
mov dword [ebp - 0xc4], 0x777678
movaps xmm0, xmmword [0x525810]
movups xmmword [ebp - 0xe4], xmm0
mov byte [ebp - 0xc0], 1
movaps xmm0, xmmword [0x525760]
movups xmmword [ebp - 0xd4], xmm0
call fcn.004634e0
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 0
push eax
push 0x20019
push 0
lea eax, [ebp - 0xf4]
push eax
push 0x80000002
call dword [0x50c004]
test eax, eax
jne 0x40f8a5
xor esi, esi
nop
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x78]
mov dword [ebp - 0x78], 0x400
push eax
lea eax, [ebp - 0xa00]
push eax
push esi
push dword [ebp - 0x98]
call dword [0x50c018]
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x40f890
lea ecx, [ebp - 0x17]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x17], 0xc9b799cc
mov word [ebp - 0x13], 0x9e
mov byte [ebp - 0x11], 1
call fcn.00463a00
lea eax, [ebp - 0xa00]
push eax
lea eax, [ebp - 0xf4]
push eax
lea eax, [ebp - 0x17]
push eax
lea eax, [ebp - 0x1718]
push eax
call dword [0x50c2f0]
add esp, 0x10
lea eax, [ebp - 0x80]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x1718]
push eax
push 0x80000002
call dword [0x50c004]
test eax, eax
jne 0x40f88d
lea ecx, [ebp - 0x2a]
mov dword [ebp - 0x8c], 0xf003f
mov dword [ebp - 0x78], 0x400
mov dword [ebp - 0x2a], 0x9c9883ad
mov dword [ebp - 0x26], 0xbe968f81
mov dword [ebp - 0x22], 0x969f90
mov byte [ebp - 0x1e], 1
call fcn.00463780
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x1f18]
push eax
lea eax, [ebp - 0x8c]
push eax
push 0
lea eax, [ebp - 0x2a]
push eax
push dword [ebp - 0x80]
call dword [0x50c014]
test eax, eax
jne 0x40f884
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x44], 0x9c9883ad
mov dword [ebp - 0x40], 0xa6968f81
mov dword [ebp - 0x3c], 0x9d808094
mov dword [ebp - 0x38], 0x100989a
call fcn.00463510
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x8c]
push eax
push 0
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x80]
call dword [0x50c014]
test eax, eax
jne 0x40f884
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], 0xb7cb99cc
mov dword [ebp - 0x6c], 0xfdb29dc8
mov word [ebp - 0x68], 0xfb
mov byte [ebp - 0x66], 1
call fcn.00463930
lea eax, [ebp - 0x1b18]
push eax
lea eax, [ebp - 0x1f18]
push eax
lea eax, [ebp - 0x70]
push eax
push edi
call fcn.004037e0
add esp, 0x10
push dword [ebp - 0x80]
call dword [0x50c00c]
mov eax, dword [ebp - 0x34]
inc esi
test eax, eax
je 0x40f710
push dword [ebp - 0x98]
call dword [0x50c00c]
push edi
call fcn.004e6ea8
add esp, 4
lea ecx, [ebp - 0xa8]
call fcn.00468860
lea ecx, [ebp - 0x15c]
call fcn.00403260
lea ecx, [ebp - 0x130]
call fcn.00403260
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 4
call fcn.00403260
sub esp, 0x18
mov byte [ebp - 0x2e], 1
mov esi, esp
lea eax, [ebp - 0x1c8]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00466660
mov ecx, esi
call fcn.0040c490
mov dl, byte [ebp - 0x2e]
lea ecx, [ebp - 0x174]
add esp, 0x18
call fcn.0040db80
add esp, 0x18
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0x100889e
call fcn.00463960
lea ecx, [ebp - 0x1c8]
call fcn.004033a0
lea ecx, [ebp - 0x7c]
push ecx
push eax
call fcn.004e3620
mov esi, eax
add esp, 8
test esi, esi
je 0x40f970
cmp dword [ebp - 0x160], 0x10
lea ecx, [ebp - 0x174]
push esi
push dword [ebp - 0x164]
cmovae ecx, dword [ebp - 0x174]
push 1
push ecx
call fcn.004eb428
push esi
call fcn.004e6ea8
add esp, 0x14
lea ecx, [ebp - 0x174]
call fcn.00403260
lea ecx, [ebp - 0x1c8]
call fcn.00403260
lea ecx, [ebx + 8]
call fcn.00403260
lea ecx, [ebx + 0x20]
call fcn.00403260
lea ecx, [ebx + 0x38]
call fcn.00403260
lea ecx, [ebx + 0x50]
call fcn.00403260
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret