Function at 0x585918
Capabilities:
Authenticate hmac
Check http status code
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x55b
push 0
push 0
dec ecx
jne 0x585921
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x4c0], ecx
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0x4bc], eax
mov eax, dword [ebp - 0x4bc]
call fcn.00405738
xor eax, eax
push ebp
push 0x598f8d
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x4b6], 0
mov byte [ebp - 0x597], 0
mov byte [ebp - 0x596], 0
xor eax, eax
mov dword [ebp - 0x2b0], eax
mov byte [ebp - 0x5a6], 0
mov byte [ebp - 0x594], 0
mov byte [ebp - 0x501], 0
mov byte [ebp - 0x502], 0
mov byte [ebp - 0x503], 0
mov byte [ebp - 0x504], 0
mov byte [ebp - 0x505], 0
mov byte [ebp - 0x5a5], 0
xor eax, eax
push ebp
push 0x598b31
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x4e4]
push eax
mov eax, dword [ebp - 0x4bc]
call fcn.00405548
mov edx, eax
sub edx, 2
mov ecx, 3
mov eax, dword [ebp - 0x4bc]
call fcn.004057a8
lea edx, [ebp - 0xa64]
mov eax, dword [ebp - 0x4e4]
call fcn.0049e038
mov edx, dword [ebp - 0xa64]
lea eax, [ebp - 0x4e4]
call fcn.00405310
lea edx, [ebp - 0x530]
mov eax, dword [ebp - 0x4e4]
call fcn.004038a0
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2ac]
call fcn.005b8ad0
mov dword [ebp - 0x52c], eax
cmp dword [ebp - 0x52c], 0
jl 0x585a51
cmp dword [ebp - 0x4c0], 0
je 0x585a51
mov eax, dword [ebp - 0x4c0]
mov dword [ebp - 0x2a8], eax
jmp 0x598af7
mov byte [ebp - 0x4b5], 0
mov eax, dword [ebp - 0x29c]
mov dl, 1
call fcn.00581d94
mov byte [ebp - 0x4c1], 0
mov byte [ebp - 0x591], 1
mov byte [ebp - 0x592], 0
mov byte [ebp - 0x5a8], 0
xor eax, eax
mov dword [ebp - 0x590], eax
mov byte [ebp - 0xa5d], 0
mov eax, 0x598fb0
call fcn.004c6770
lea eax, [ebp - 0x4e4]
push eax
mov eax, dword [ebp - 0x4bc]
call fcn.00405548
mov edx, eax
sub edx, 2
mov ecx, 3
mov eax, dword [ebp - 0x4bc]
call fcn.004057a8
lea edx, [ebp - 0xa68]
mov eax, dword [ebp - 0x4e4]
call fcn.0049e038
mov edx, dword [ebp - 0xa68]
lea eax, [ebp - 0x4e4]
call fcn.00405310
lea edx, [ebp - 0x530]
mov eax, dword [ebp - 0x4e4]
call fcn.004038a0
mov dword [ebp - 0x2ac], eax
imul eax, dword [ebp - 0x2ac], 0x97
mov byte [eax + 0xc687b4], 0
call fcn.0040d300
fstp qword [ebp - 0x560]
wait
call fcn.0040d300
fstp qword [ebp - 0x558]
wait
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
lea edx, [ebp - 0xa6c]
call fcn.0040a83c
mov ecx, dword [ebp - 0xa6c]
lea eax, [ebp - 0x4c8]
mov edx, 0x598fc4
call fcn.00405594
cmp dword [0xc685ac], 0
jne 0x585bf4
lea eax, [ebp - 0x4e0]
call fcn.005a4f38
imul eax, dword [ebp - 0x2ac], 0x97
lea edx, [eax + 0xc687b4]
lea eax, [ebp - 0xc0c]
call fcn.004032b0
mov edx, 0x598fd8
lea eax, [ebp - 0xc0c]
mov cl, 0x98
call fcn.00403280
lea edx, [ebp - 0xc0c]
lea eax, [ebp - 0xb70]
call fcn.004054ec
lea eax, [ebp - 0xb70]
mov edx, dword [ebp - 0x4e0]
call fcn.00405550
mov edx, dword [ebp - 0xb70]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
imul eax, dword [ebp - 0x2ac], 0x97
add eax, 0xc687b4
mov cl, 0x96
call fcn.004032bc
call fcn.0040d300
fstp qword [ebp - 0x560]
wait
cmp dword [ebp - 0x4c0], 0xffffffff
jne 0x585c1e
cmp dword [ebp + 8], 0xf4240
jl 0x585c1e
cmp dword [ebp + 8], 0x1e8480
jge 0x585c1e
mov dword [ebp - 0x2a8], 0xffffffff
jmp 0x58757f
cmp dword [ebp - 0x4c0], 0
je 0x585c35
mov eax, dword [ebp - 0x4c0]
mov dword [ebp - 0x2a8], eax
jmp 0x585c5b
push 0
push 0
push 3
push 0
push 3
push 0xc0000000
mov eax, dword [ebp - 0x4c8]
call fcn.00405748
push eax
call sub.kernel32.dll_CreateFileA_1
mov dword [ebp - 0x2a8], eax
cmp dword [ebp - 0x2a8], 0xffffffff
jne 0x585cc3
call sub.kernel32.dll_GetLastError_1
xor edx, edx
push edx
push eax
lea eax, [ebp - 0xc14]
call fcn.0040a928
mov ecx, dword [ebp - 0xc14]
lea eax, [ebp - 0xc10]
mov edx, 0x598fe4
call fcn.00405594
mov eax, dword [ebp - 0xc10]
push eax
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x598c4f
cmp dword [0x7ce57c], 0
jge 0x585d16
mov eax, 0x598ff0
call fcn.004c6770
mov eax, 0x599008
call fcn.005b2514
mov dword [0x7ce57c], eax
lea edx, [ebp - 0xc1c]
mov eax, dword [0x7ce57c]
call fcn.0040a83c
mov ecx, dword [ebp - 0xc1c]
lea eax, [ebp - 0xc18]
mov edx, 0x59901c
call fcn.00405594
mov eax, dword [ebp - 0xc18]
call fcn.004c6770
cmp dword [0x7ce57c], 0
jle 0x585e4b
mov eax, 0x599038
call fcn.004c6770
push ebp
call fcn.00583da8
pop ecx
mov edx, 0x599048
lea eax, [ebp - 0xc4c]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0xc4c]
mov cl, 0x2b
call fcn.00403280
lea edx, [ebp - 0xc4c]
lea eax, [ebp - 0xc80]
call fcn.004032b0
mov edx, 0x59905c
lea eax, [ebp - 0xc80]
mov cl, 0x32
call fcn.00403280
lea edx, [ebp - 0xc80]
lea eax, [ebp - 0xcc8]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
lea eax, [ebp - 0xcc8]
mov cl, 0x46
call fcn.00403280
lea edx, [ebp - 0xcc8]
lea eax, [ebp - 0xd18]
call fcn.004032b0
mov edx, 0x599064
lea eax, [ebp - 0xd18]
mov cl, 0x4d
call fcn.00403280
lea edx, [ebp - 0xd18]
lea eax, [ebp - 0xd7c]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x1a
lea eax, [ebp - 0xd7c]
mov cl, 0x61
call fcn.00403280
lea edx, [ebp - 0xd7c]
lea eax, [ebp - 0xc20]
call fcn.004054ec
mov eax, dword [ebp - 0xc20]
call fcn.004c6770
mov edx, dword [ebp - 0x29c]
mov eax, 0x59906c
call fcn.00402c58
dec eax
jne 0x585e4b
mov eax, 0x599078
call fcn.004c6770
imul eax, dword [ebp - 0x2ac], 0x83
add eax, 0xc61f54
mov edx, 0x5990ac
mov cl, 0x82
call fcn.00403280
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
mov dword [ebp - 0x59c], 2
mov eax, 0xc685b4
xor ecx, ecx
mov edx, 0x200
call fcn.00403450
lea eax, [ebp - 0x298]
xor ecx, ecx
mov edx, 0x298
call fcn.00403450
mov word [ebp - 0x298], 0x2c
mov byte [ebp - 0x294], 1
mov byte [ebp - 0x292], 6
mov byte [ebp - 0x291], 0x18
mov byte [ebp - 0x290], 1
mov dword [ebp - 0x28c], 0xc0
mov eax, dword [ebp - 0x59c]
mov dword [ebp - 0x288], eax
lea eax, [ebp - 0x24c]
lea edx, [ebp - 0x298]
sub eax, edx
mov dword [ebp - 0x284], eax
lea eax, [ebp - 0x26c]
lea edx, [ebp - 0x298]
sub eax, edx
mov dword [ebp - 0x280], eax
mov byte [ebp - 0x27c], 0x12
mov byte [ebp - 0x278], 0xc0
mov eax, dword [ebp - 0x284]
add eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2a4], eax
cmp byte [0x7cdf44], 0
jne 0x586ba2
push 0
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x2a4]
push eax
lea eax, [ebp - 0x298]
push eax
push 0x2c
lea eax, [ebp - 0x298]
push eax
push 0x4d004
mov eax, dword [ebp - 0x2a8]
push eax
call sub.kernel32.dll_DeviceIoControl
test eax, eax
je 0x586ba2
mov eax, 0x5990bc
call fcn.0049d570
test al, al
je 0x586197
cmp dword [ebp - 0x2ac], 0x63
jge 0x586197
mov byte [ebp - 0x24c], 0
mov byte [ebp - 0x24b], 0x8d
mov byte [ebp - 0x24a], 6
mov byte [ebp - 0x249], 2
mov byte [ebp - 0x248], 0x5b
mov byte [ebp - 0x247], 2
mov byte [ebp - 0x246], 0
mov byte [ebp - 0x245], 0
mov byte [ebp - 0x24c], 0
mov byte [ebp - 0x24b], 0
mov byte [ebp - 0x24a], 5
mov byte [ebp - 0x249], 0x12
mov byte [ebp - 0x248], 0xbb
mov byte [ebp - 0x247], 0
mov byte [ebp - 0x246], 0
mov byte [ebp - 0x245], 2
mov byte [ebp - 0x24c], 0
mov byte [ebp - 0x24b], 4
mov byte [ebp - 0x24a], 0xff
mov byte [ebp - 0x249], 0x3f
mov byte [ebp - 0x248], 0x37
mov byte [ebp - 0x247], 0xc8
mov byte [ebp - 0x246], 0x10
mov byte [ebp - 0x245], 0
mov byte [ebp - 0x24c], 0
mov byte [ebp - 0x24b], 0
mov byte [ebp - 0x24a], 0
mov byte [ebp - 0x249], 2
mov byte [ebp - 0x248], 0x37
mov byte [ebp - 0x247], 0
mov byte [ebp - 0x246], 0
mov byte [ebp - 0x245], 0
mov byte [ebp - 0x24c], 0
mov byte [ebp - 0x24b], 0
mov byte [ebp - 0x24a], 5
mov byte [ebp - 0x249], 2
mov byte [ebp - 0x248], 0x63
mov byte [ebp - 0x247], 0
mov byte [ebp - 0x246], 0
mov byte [ebp - 0x245], 2
mov byte [ebp - 0x24c], 0
mov byte [ebp - 0x24b], 0
mov byte [ebp - 0x24a], 5
mov byte [ebp - 0x249], 2
mov byte [ebp - 0x248], 0x1f
mov byte [ebp - 0x247], 0
mov byte [ebp - 0x246], 0
mov byte [ebp - 0x245], 2
mov byte [ebp - 0x24c], 0
mov byte [ebp - 0x24b], 0
mov byte [ebp - 0x24a], 5
mov byte [ebp - 0x249], 0x12
mov byte [ebp - 0x248], 0x37
mov byte [ebp - 0x247], 0
mov byte [ebp - 0x246], 0x10
mov byte [ebp - 0x245], 2
mov byte [ebp - 0x24c], 0
mov byte [ebp - 0x24b], 0
mov byte [ebp - 0x24a], 6
mov byte [ebp - 0x249], 0x12
mov byte [ebp - 0x248], 0x5f
mov byte [ebp - 0x247], 0
mov byte [ebp - 0x246], 0x20
mov byte [ebp - 0x245], 2
mov byte [ebp - 0x24c], 0
mov byte [ebp - 0x24b], 0
mov byte [ebp - 0x24a], 6
mov byte [ebp - 0x249], 2
mov byte [ebp - 0x248], 0x47
mov byte [ebp - 0x247], 0
mov byte [ebp - 0x246], 0x20
mov byte [ebp - 0x245], 0
push ebp
call fcn.00582a20
pop ecx
mov byte [ebp - 0x24c], 0
mov byte [ebp - 0x24b], 0
mov byte [ebp - 0x24a], 6
mov byte [ebp - 0x249], 2
mov byte [ebp - 0x248], 0x34
mov byte [ebp - 0x247], 0
mov byte [ebp - 0x246], 0
mov byte [ebp - 0x245], 2
cmp byte [ebp - 0x24c], 0
jne 0x5861f9
cmp byte [ebp - 0x24b], 0
jne 0x5861f9
cmp byte [ebp - 0x24a], 5
jne 0x5861f9
cmp byte [ebp - 0x249], 2
jne 0x5861f9
cmp byte [ebp - 0x248], 0x63
je 0x5861cd
cmp byte [ebp - 0x248], 0x3f
jne 0x5861f9
cmp byte [ebp - 0x247], 0
jne 0x5861f9
cmp byte [ebp - 0x246], 0
jne 0x5861f9
cmp byte [ebp - 0x245], 2
jne 0x5861f9
mov eax, 0x5990d0
call fcn.004c6770
mov byte [ebp - 0x596], 1
push ebp
mov eax, dword [ebp - 0x29c]
add eax, 0x19f
xor edx, edx
call fcn.00584250
pop ecx
push ebp
mov eax, dword [ebp - 0x29c]
add eax, 0x1e6
mov edx, 0x10
call fcn.00584250
pop ecx
push ebp
mov eax, dword [ebp - 0x29c]
add eax, 0x22d
mov edx, 0x20
call fcn.00584250
pop ecx
push ebp
mov eax, dword [ebp - 0x29c]
add eax, 0x274
mov edx, 0x30
call fcn.00584250
pop ecx
lea eax, [ebp - 0x4e4]
call fcn.00405278
xor eax, eax
mov dword [ebp - 0x52c], eax
push dword [ebp - 0x4e4]
lea ecx, [ebp - 0xd80]
mov eax, dword [ebp - 0x52c]
movzx eax, byte [ebp + eax - 0x24c]
mov edx, 2
call fcn.0040a950
push dword [ebp - 0xd80]
push 0x5990e8
lea eax, [ebp - 0x4e4]
mov edx, 3
call fcn.00405608
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x40
jne 0x586265
lea eax, [ebp - 0x4e4]
mov edx, 0x5990f4
call fcn.00405550
xor eax, eax
mov dword [ebp - 0x52c], eax
mov eax, dword [ebp - 0x52c]
cmp byte [ebp + eax - 0x24c], 0x20
jb 0x586316
mov eax, dword [ebp - 0x52c]
cmp byte [ebp + eax - 0x24c], 0x80
ja 0x586316
lea eax, [ebp - 0xd84]
mov edx, dword [ebp - 0x52c]
mov dl, byte [ebp + edx - 0x24c]
call fcn.00405460
mov edx, dword [ebp - 0xd84]
lea eax, [ebp - 0x4e4]
call fcn.00405550
jmp 0x586326
lea eax, [ebp - 0x4e4]
mov edx, 0x599100
call fcn.00405550
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x40
jne 0x5862cb
lea eax, [ebp - 0xd88]
mov ecx, dword [ebp - 0x4e4]
mov edx, 0x59910c
call fcn.00405594
mov eax, dword [ebp - 0xd88]
call fcn.004c6770
cmp byte [ebp - 0x248], 0x30
jb 0x58637a
cmp byte [ebp - 0x247], 0
jne 0x586381
test byte [ebp - 0x246], 0xdf
jne 0x586381
test byte [ebp - 0x245], 0xfe
jne 0x586381
mov byte [ebp - 0x4b5], 1
cmp byte [ebp - 0x248], 0x5b
jne 0x5863eb
cmp byte [ebp - 0x247], 0
jne 0x5863eb
cmp byte [ebp - 0x246], 0
jne 0x5863eb
cmp byte [ebp - 0x245], 0x13
jne 0x5863ac
mov byte [ebp - 0x4b5], 1
cmp byte [ebp - 0x245], 2
jne 0x5863eb
mov byte [ebp - 0x4b5], 1
mov edx, dword [ebp - 0x4e4]
mov eax, 0x599120
call fcn.0040588c
test eax, eax
jle 0x5863eb
mov edx, dword [ebp - 0x4e4]
mov eax, 0x599130
call fcn.0040588c
test eax, eax
jle 0x5863eb
mov byte [ebp - 0x4b5], 0
cmp byte [ebp - 0x248], 0x5b
jne 0x586424
cmp byte [ebp - 0x247], 0
jne 0x586424
cmp byte [ebp - 0x246], 0x80
jne 0x586424
cmp byte [ebp - 0x245], 2
jne 0x586424
mov eax, 0x599140
call fcn.004aa544
test al, al
je 0x586424
mov byte [ebp - 0x4b5], 1
cmp byte [ebp - 0x248], 0x5b
jne 0x58646a
cmp byte [ebp - 0x247], 2
jne 0x58646a
cmp byte [ebp - 0x246], 0
jne 0x58646a
cmp byte [ebp - 0x245], 0
jne 0x58646a
cmp byte [ebp - 0x249], 2
jne 0x58646a
cmp byte [ebp - 0x24a], 6
jne 0x58646a
cmp byte [ebp - 0x24b], 0x8d
jne 0x58646a
mov byte [ebp - 0x4b5], 1
cmp byte [ebp - 0x248], 0x47
jne 0x586483
cmp byte [ebp - 0x245], 2
jne 0x586483
mov byte [ebp - 0x4b5], 1
cmp byte [ebp - 0x248], 0x46
ja 0x5864ae
cmp byte [ebp - 0x247], 0
jne 0x5864ae
cmp byte [ebp - 0x246], 0
jne 0x5864ae
cmp byte [ebp - 0x245], 2
jne 0x5864ae
mov byte [ebp - 0x4b5], 1
cmp byte [ebp - 0x248], 0x33
jne 0x5864d0
test byte [ebp - 0x246], 0xdf
jne 0x5864d0
cmp byte [ebp - 0x245], 2
jne 0x5864d0
mov byte [ebp - 0x4b5], 1
cmp byte [ebp - 0x24a], 5
jne 0x58650d
cmp byte [ebp - 0x249], 0x12
jne 0x58650d
cmp byte [ebp - 0x248], 0xbb
jne 0x58650d
cmp byte [ebp - 0x247], 0
jne 0x58650d
cmp byte [ebp - 0x246], 0
jne 0x58650d
cmp byte [ebp - 0x245], 2
jne 0x58650d
mov byte [ebp - 0x4b5], 1
cmp byte [ebp - 0x24b], 4
jne 0x58652f
cmp byte [ebp - 0x24a], 0xff
jne 0x58652f
cmp byte [ebp - 0x249], 0x3f
jne 0x58652f
mov byte [ebp - 0x4b5], 1
cmp byte [ebp - 0x24a], 6
jne 0x586551
cmp byte [ebp - 0x249], 0x12
jne 0x586551
cmp byte [ebp - 0x248], 0x5f
jne 0x586551
mov byte [ebp - 0x4b5], 1
cmp byte [ebp - 0x24a], 6
jne 0x586573
cmp byte [ebp - 0x249], 0x32
jne 0x586573
cmp byte [ebp - 0x248], 0x4b
jne 0x586573
mov byte [ebp - 0x4b5], 1
cmp byte [ebp - 0x24a], 0xff
jne 0x58659e
cmp byte [ebp - 0x249], 0x3f
jne 0x58659e
cmp byte [ebp - 0x248], 0x37
jne 0x58659e
cmp byte [ebp - 0x247], 0xc8
jne 0x58659e
cmp byte [ebp - 0x246], 0x10
cmp byte [ebp - 0x24a], 6
jne 0x5865db
cmp byte [ebp - 0x249], 2
jne 0x5865db
cmp byte [ebp - 0x248], 0x34
jne 0x5865db
cmp byte [ebp - 0x247], 0
jne 0x5865db
cmp byte [ebp - 0x246], 0
jne 0x5865db
cmp byte [ebp - 0x245], 2
jne 0x5865db
mov byte [ebp - 0x4b5], 0
cmp byte [ebp - 0x24a], 6
jne 0x586618
cmp byte [ebp - 0x249], 0x12
jne 0x586618
cmp byte [ebp - 0x248], 0x47
jne 0x586618
cmp byte [ebp - 0x247], 0
jne 0x586618
cmp byte [ebp - 0x246], 0x10
jne 0x586618
cmp byte [ebp - 0x245], 2
jne 0x586618
mov byte [ebp - 0x4b5], 0
mov eax, 0x599154
call fcn.0049d570
test al, al
je 0x586661
lea ecx, [ebp - 0xd90]
xor edx, edx
mov al, byte [ebp - 0x4b5]
call fcn.0040ac1c
mov ecx, dword [ebp - 0xd90]
lea eax, [ebp - 0xd8c]
mov edx, 0x599168
call fcn.00405594
mov eax, dword [ebp - 0xd8c]
call fcn.004c6770
mov byte [ebp - 0x4b5], 0
push 0x599184
lea edx, [ebp - 0xd98]
mov eax, dword [ebp - 0x2ac]
call fcn.0040a83c
push dword [ebp - 0xd98]
push 0x5990e8
lea edx, [ebp - 0xd9c]
xor eax, eax
mov al, byte [ebp - 0x248]
call fcn.0040a83c
push dword [ebp - 0xd9c]
push 0x5990e8
lea edx, [ebp - 0xda0]
xor eax, eax
mov al, byte [ebp - 0x247]
call fcn.0040a83c
push dword [ebp - 0xda0]
push 0x5990e8
lea edx, [ebp - 0xda4]
xor eax, eax
mov al, byte [ebp - 0x246]
call fcn.0040a83c
push dword [ebp - 0xda4]
push 0x5990e8
lea edx, [ebp - 0xda8]
xor eax, eax
mov al, byte [ebp - 0x245]
call fcn.0040a83c
push dword [ebp - 0xda8]
push 0x5990e8
lea ecx, [ebp - 0xdac]
xor edx, edx
mov al, byte [ebp - 0x4b5]
call fcn.0040ac1c
push dword [ebp - 0xdac]
lea eax, [ebp - 0xd94]
mov edx, 0xc
call fcn.00405608
mov eax, dword [ebp - 0xd94]
call fcn.004c6770
xor eax, eax
mov dword [ebp - 0x52c], eax
lea eax, [ebp - 0xdb0]
mov edx, dword [ebp - 0x52c]
mov dl, byte [ebp + edx - 0x24c]
call fcn.00405460
mov eax, dword [ebp - 0xdb0]
push eax
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0xc0
jne 0x586736
mov eax, dword [ebp - 0x29c]
mov dl, byte [ebp - 0x24c]
mov byte [eax + 0xdf], dl
test byte [ebp - 0x24b], 0x80
setne al
mov edx, dword [ebp - 0x29c]
mov byte [edx + 0xe1], al
mov eax, dword [ebp - 0x29c]
mov dl, byte [ebp - 0x24a]
mov byte [eax + 0xe0], dl
mov dword [ebp - 0x52c], 8
mov eax, dword [ebp - 0x52c]
cmp byte [ebp + eax - 0x24c], 0
je 0x586827
mov eax, dword [ebp - 0x52c]
cmp byte [ebp + eax - 0x24c], 0x20
jb 0x586818
lea eax, [ebp - 0xdb4]
mov edx, dword [ebp - 0x52c]
mov dl, byte [ebp + edx - 0x24c]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0xdb4]
mov eax, dword [ebp - 0x29c]
mov cl, 0x19
call fcn.00403280
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x10
jne 0x5867cc
lea eax, [ebp - 0x4e4]
call fcn.00405278
mov dword [ebp - 0x52c], 0x10
mov eax, dword [ebp - 0x52c]
cmp byte [ebp + eax - 0x24c], 0
je 0x586894
mov eax, dword [ebp - 0x52c]
cmp byte [ebp + eax - 0x24c], 0x20
jb 0x586885
lea eax, [ebp - 0xdb8]
mov edx, dword [ebp - 0x52c]
mov dl, byte [ebp + edx - 0x24c]
call fcn.00405460
mov edx, dword [ebp - 0xdb8]
lea eax, [ebp - 0x4e4]
call fcn.00405550
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x20
jne 0x58683c
lea eax, [ebp - 0xdd4]
push eax
mov edx, dword [ebp - 0x29c]
movzx edx, byte [edx]
mov eax, dword [ebp - 0x29c]
mov ecx, 1
call fcn.004029ac
lea eax, [ebp - 0xdd4]
mov edx, 0x599194
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040335c
je 0x586941
lea eax, [ebp - 0xdd8]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x4e4]
call fcn.004057a8
mov eax, dword [ebp - 0xdd8]
mov edx, 0x5990e8
call fcn.00405694
je 0x586941
lea eax, [ebp - 0xde0]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0xde0]
lea edx, [ebp - 0xddc]
call fcn.0040a0f8
mov edx, dword [ebp - 0xddc]
mov eax, 0x5991a0
call fcn.0040588c
test eax, eax
jne 0x586941
mov eax, dword [ebp - 0x29c]
mov edx, 0x599194
mov cl, 0x19
call fcn.00403280
lea eax, [ebp - 0xde4]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
lea eax, [ebp - 0xde4]
mov edx, dword [ebp - 0x4e4]
call fcn.00405550
mov edx, dword [ebp - 0xde4]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
mov eax, dword [ebp - 0x29c]
mov cl, 0x19
call fcn.004032bc
mov dword [ebp - 0x52c], 0x20
mov eax, dword [ebp - 0x52c]
cmp byte [ebp + eax - 0x24c], 0
je 0x5869e4
lea eax, [ebp - 0xdb4]
mov edx, dword [ebp - 0x52c]
mov dl, byte [ebp + edx - 0x24c]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0xdb4]
mov eax, dword [ebp - 0x29c]
add eax, 0x1a
mov cl, 0x14
call fcn.00403280
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x24
jne 0x586996
mov dword [ebp - 0x52c], 0x24
mov eax, dword [ebp - 0x52c]
cmp byte [ebp + eax - 0x24c], 0
je 0x586a3c
lea eax, [ebp - 0xdb4]
mov edx, dword [ebp - 0x52c]
mov dl, byte [ebp + edx - 0x24c]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0xdb4]
mov eax, dword [ebp - 0x29c]
add eax, 0x2f
mov cl, 0x14
call fcn.00403280
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x38
jne 0x5869ee
mov dword [ebp - 0x52c], 0x60
mov eax, dword [ebp - 0x52c]
cmp byte [ebp + eax - 0x24c], 0x20
jb 0x586a85
lea eax, [ebp - 0xdb4]
mov edx, dword [ebp - 0x52c]
mov dl, byte [ebp + edx - 0x24c]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0xdb4]
mov eax, dword [ebp - 0x29c]
add eax, 0x44
mov cl, 0x32
call fcn.00403280
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x92
jne 0x586a46
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0xe14]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
lea eax, [ebp - 0xe14]
mov cl, 0x2d
call fcn.00403280
lea edx, [ebp - 0xe14]
lea eax, [ebp - 0xe58]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x1a
lea eax, [ebp - 0xe58]
mov cl, 0x41
call fcn.00403280
lea edx, [ebp - 0xe58]
lea eax, [ebp - 0x4e4]
call fcn.004054ec
xor eax, eax
mov dword [ebp - 0x530], eax
mov eax, dword [ebp - 0x4e4]
call fcn.00405548
test eax, eax
jle 0x586b57
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x52c], 1
mov eax, dword [ebp - 0x4e4]
mov edx, dword [ebp - 0x52c]
cmp byte [eax + edx - 1], 0x20
jb 0x586b43
mov eax, dword [ebp - 0x4e4]
mov edx, dword [ebp - 0x52c]
cmp byte [eax + edx - 1], 0x7f
jbe 0x586b49
inc dword [ebp - 0x530]
inc dword [ebp - 0x52c]
dec dword [ebp - 0x5b0]
jne 0x586b1d
cmp dword [ebp - 0x530], 8
jle 0x586e40
lea edx, [ebp - 0xe60]
mov eax, dword [ebp - 0x530]
call fcn.0040a83c
mov ecx, dword [ebp - 0xe60]
lea eax, [ebp - 0xe5c]
mov edx, 0x5991b4
call fcn.00405594
mov eax, dword [ebp - 0xe5c]
call fcn.004c6770
push ebp
call fcn.00583da8
pop ecx
jmp 0x586e40
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x52c], eax
cmp byte [0x7cdf44], 0
je 0x586bc0
mov dword [ebp - 0x52c], 0x79
mov edx, dword [ebp - 0x29c]
add edx, 0x274
lea eax, [ebp - 0xd18]
call fcn.004032b0
mov edx, 0x5991bc
lea eax, [ebp - 0xd18]
mov cl, 0x4d
call fcn.00403280
lea edx, [ebp - 0xd18]
lea eax, [ebp - 0xe64]
call fcn.004054ec
lea eax, [ebp - 0xe64]
push eax
lea edx, [ebp - 0xe68]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov edx, dword [ebp - 0xe68]
pop eax
call fcn.00405550
mov edx, dword [ebp - 0xe64]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
mov eax, dword [ebp - 0x29c]
add eax, 0x274
mov cl, 0x46
call fcn.004032bc
imul eax, dword [ebp - 0x2ac], 0x83
cmp byte [eax + 0xc61f54], 0x32
jbe 0x586c7d
imul eax, dword [ebp - 0x2ac], 0x83
add eax, 0xc61f54
mov ecx, 0xc8
mov edx, 0x1f
call fcn.004029f0
imul eax, dword [ebp - 0x2ac], 0x83
lea edx, [eax + 0xc61f54]
lea eax, [ebp - 0xef8]
call fcn.004032b0
mov edx, 0x5991c4
lea eax, [ebp - 0xef8]
mov cl, 0x88
call fcn.00403280
lea edx, [ebp - 0xef8]
lea eax, [ebp - 0xe6c]
call fcn.004054ec
lea eax, [ebp - 0xe6c]
push eax
lea edx, [ebp - 0xefc]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov edx, dword [ebp - 0xefc]
pop eax
call fcn.00405550
mov edx, dword [ebp - 0xe6c]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
imul eax, dword [ebp - 0x2ac], 0x83
add eax, 0xc61f54
mov cl, 0x82
call fcn.004032bc
lea edx, [ebp - 0xf04]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov ecx, dword [ebp - 0xf04]
lea eax, [ebp - 0xf00]
mov edx, 0x5991d4
call fcn.00405594
mov eax, dword [ebp - 0xf00]
call fcn.004c6770
imul eax, dword [ebp - 0x2ac], 0x97
lea edx, [eax + 0xc687b4]
lea eax, [ebp - 0xfb0]
call fcn.004032b0
mov edx, 0x5991e0
lea eax, [ebp - 0xfb0]
mov cl, 0xa0
call fcn.00403280
lea edx, [ebp - 0xfb0]
lea eax, [ebp - 0xf0c]
call fcn.004054ec
push dword [ebp - 0xf0c]
lea edx, [ebp - 0xfb4]
mov eax, dword [ebp - 0x59c]
call fcn.0040a83c
push dword [ebp - 0xfb4]
push 0x5991f4
lea edx, [ebp - 0xfb8]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
push dword [ebp - 0xfb8]
lea eax, [ebp - 0xf08]
mov edx, 4
call fcn.00405608
mov edx, dword [ebp - 0xf08]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
imul eax, dword [ebp - 0x2ac], 0x97
add eax, 0xc687b4
mov cl, 0x96
call fcn.004032bc
cmp dword [ebp - 0x52c], 0x79
je 0x586e17
cmp dword [ebp - 0x52c], 0x37
je 0x586e17
cmp dword [ebp - 0x52c], 0x32
jne 0x586e39
cmp dword [ebp - 0x59c], 0xa
jge 0x586e39
mov eax, 0x599200
call fcn.004c6770
mov dword [ebp - 0x59c], 0xa
jmp 0x585e55
push ebp
call fcn.00583da8
pop ecx
lea edx, [ebp - 0xfc0]
mov eax, dword [ebp - 0x2ac]
call fcn.0040a83c
mov ecx, dword [ebp - 0xfc0]
lea eax, [ebp - 0xfbc]
mov edx, 0x59921c
call fcn.00405594
mov eax, dword [ebp - 0xfbc]
call fcn.004c6770
lea ecx, [ebp - 0x578]
lea edx, [ebp - 0x570]
mov eax, dword [ebp - 0x2a8]
call fcn.005821c8
mov dword [ebp - 0x568], eax
mov dword [ebp - 0x564], edx
cmp dword [ebp - 0x564], 0
jne 0x586ea9
cmp dword [ebp - 0x568], 0
jbe 0x586eed
jmp 0x586eab
jle 0x586eed
mov eax, dword [ebp - 0x570]
mov edx, dword [ebp - 0x56c]
add eax, 1
adc edx, 0
mov ecx, dword [ebp - 0x29c]
mov dword [ecx + 0x3b0], eax
mov dword [ecx + 0x3b4], edx
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x578]
mov dword [eax + 0x3b8], edx
mov edx, dword [ebp - 0x574]
mov dword [eax + 0x3bc], edx
push dword [ebp - 0x564]
push dword [ebp - 0x568]
lea eax, [ebp - 0xfc8]
call fcn.0040a928
mov ecx, dword [ebp - 0xfc8]
lea eax, [ebp - 0xfc4]
mov edx, 0x599238
call fcn.00405594
mov eax, dword [ebp - 0xfc4]
call fcn.004c6770
push dword [ebp - 0x56c]
push dword [ebp - 0x570]
lea eax, [ebp - 0xfd0]
call fcn.0040a928
mov ecx, dword [ebp - 0xfd0]
lea eax, [ebp - 0xfcc]
mov edx, 0x59924c
call fcn.00405594
mov eax, dword [ebp - 0xfcc]
call fcn.004c6770
push dword [ebp - 0x574]
push dword [ebp - 0x578]
lea eax, [ebp - 0xfd8]
call fcn.0040a928
mov ecx, dword [ebp - 0xfd8]
lea eax, [ebp - 0xfd4]
mov edx, 0x599260
call fcn.00405594
mov eax, dword [ebp - 0xfd4]
call fcn.004c6770
mov eax, 0x599274
call fcn.0049d570
test al, al
je 0x586fb8
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x59927c
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0xfe0]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0xfe0]
lea edx, [ebp - 0xfdc]
call fcn.0040a0f8
mov edx, dword [ebp - 0xfdc]
mov eax, 0x5992a0
call fcn.0040588c
test eax, eax
jle 0x58757f
mov eax, 0x5992b0
call fcn.004c6770
mov byte [ebp - 0x4b5], 0
mov eax, dword [ebp - 0x29c]
cmp byte [eax + 0x2f], 2
jae 0x587212
mov edx, 0x5992c0
lea eax, [ebp - 0x100c]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
lea eax, [ebp - 0x100c]
mov cl, 0x24
call fcn.00403280
lea edx, [ebp - 0x100c]
lea eax, [ebp - 0xfe4]
call fcn.004054ec
mov eax, dword [ebp - 0xfe4]
call fcn.004c6770
mov eax, 0xc685b4
xor ecx, ecx
mov edx, 0x200
call fcn.00403450
lea eax, [ebp - 0x298]
xor ecx, ecx
mov edx, 0x298
call fcn.00403450
mov word [ebp - 0x298], 0x2c
mov byte [ebp - 0x294], 1
mov byte [ebp - 0x292], 6
mov byte [ebp - 0x291], 0x18
mov byte [ebp - 0x290], 1
mov dword [ebp - 0x28c], 0xc0
mov eax, dword [ebp - 0x59c]
mov dword [ebp - 0x288], eax
lea eax, [ebp - 0x24c]
lea edx, [ebp - 0x298]
sub eax, edx
mov dword [ebp - 0x284], eax
lea eax, [ebp - 0x26c]
lea edx, [ebp - 0x298]
sub eax, edx
mov dword [ebp - 0x280], eax
mov byte [ebp - 0x27c], 0x12
mov byte [ebp - 0x27b], 1
mov byte [ebp - 0x27a], 0x80
mov byte [ebp - 0x278], 0xc0
mov eax, dword [ebp - 0x284]
add eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2a4], eax
push 0
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x2a4]
push eax
lea eax, [ebp - 0x298]
push eax
push 0x2c
lea eax, [ebp - 0x298]
push eax
push 0x4d004
mov eax, dword [ebp - 0x2a8]
push eax
call sub.kernel32.dll_DeviceIoControl
test eax, eax
je 0x587212
cmp byte [ebp - 0x24b], 0x80
jne 0x587212
lea eax, [ebp - 0x4e4]
call fcn.00405278
xor eax, eax
mov al, byte [ebp - 0x249]
dec eax
test eax, eax
jl 0x5871b2
inc eax
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x52c], 0
lea eax, [ebp - 0x1010]
mov edx, dword [ebp - 0x52c]
add edx, 4
mov dl, byte [ebp + edx - 0x24c]
call fcn.00405460
mov edx, dword [ebp - 0x1010]
lea eax, [ebp - 0x4e4]
call fcn.00405550
inc dword [ebp - 0x52c]
dec dword [ebp - 0x5b0]
jne 0x587178
lea eax, [ebp - 0x1014]
mov ecx, dword [ebp - 0x4e4]
mov edx, 0x5992dc
call fcn.00405594
mov eax, dword [ebp - 0x1014]
call fcn.004c6770
lea eax, [ebp - 0xb6c]
mov edx, dword [ebp - 0x4e4]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
mov eax, dword [ebp - 0x29c]
add eax, 0x2f
mov cl, 0x14
call fcn.004032bc
mov eax, dword [ebp - 0x29c]
add eax, 0x2f
mov edx, 0x14
call fcn.00581820
lea eax, [ebp - 0x101c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x101c]
lea edx, [ebp - 0x1018]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1018]
mov eax, 0x5992f4
call fcn.0040588c
test eax, eax
jg 0x5872a2
lea eax, [ebp - 0x1024]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1024]
lea edx, [ebp - 0x1020]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1020]
mov eax, 0x599304
call fcn.0040588c
test eax, eax
jg 0x5872a2
lea eax, [ebp - 0x1028]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1028]
call fcn.005747c4
test al, al
je 0x58737c
mov edx, 0x59930c
lea eax, [ebp - 0x1050]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x1050]
mov cl, 0x23
call fcn.00403280
lea edx, [ebp - 0x1050]
lea eax, [ebp - 0x107c]
call fcn.004032b0
mov edx, 0x599318
lea eax, [ebp - 0x107c]
mov cl, 0x28
call fcn.00403280
lea edx, [ebp - 0x107c]
lea eax, [ebp - 0x102c]
call fcn.004054ec
mov eax, dword [ebp - 0x102c]
call fcn.004c6770
lea eax, [ebp - 0x1080]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1080]
push eax
lea eax, [ebp - 0x1084]
mov edx, dword [ebp - 0x29c]
add edx, 0x1a
call fcn.004054ec
mov eax, dword [ebp - 0x1084]
push eax
lea eax, [ebp - 0x1088]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov ecx, dword [ebp - 0x1088]
mov edx, dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x2ac]
call fcn.0057188c
test al, al
je 0x58737c
mov eax, 0x599328
call fcn.004c6770
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
mov byte [ebp - 0x5aa], 0
lea eax, [ebp - 0x1090]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1090]
lea edx, [ebp - 0x108c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x108c]
mov eax, 0x599344
call fcn.0040588c
test eax, eax
jle 0x5873c0
mov byte [ebp - 0x5aa], 1
mov eax, dword [ebp - 0x2a8]
call fcn.005aa59c
mov dword [ebp - 0x530], eax
cmp dword [ebp - 0x530], 7
jne 0x5873e1
mov byte [ebp - 0x5aa], 1
cmp byte [ebp - 0x5aa], 0
je 0x58757f
mov eax, dword [ebp - 0x2a8]
call fcn.005b3524
test al, al
je 0x58757f
mov eax, dword [ebp - 0x29c]
lea edi, [eax + 0x1a]
mov esi, 0x59934c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edx, 0x59930c
lea eax, [ebp - 0x1050]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x1050]
mov cl, 0x23
call fcn.00403280
lea edx, [ebp - 0x1050]
lea eax, [ebp - 0x100c]
call fcn.004032b0
mov edx, 0x599194
lea eax, [ebp - 0x100c]
mov cl, 0x24
call fcn.00403280
lea edx, [ebp - 0x100c]
lea eax, [ebp - 0x10d0]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
lea eax, [ebp - 0x10d0]
mov cl, 0x38
call fcn.00403280
lea edx, [ebp - 0x10d0]
lea eax, [ebp - 0x110c]
call fcn.004032b0
mov edx, 0x599194
lea eax, [ebp - 0x110c]
mov cl, 0x39
call fcn.00403280
lea edx, [ebp - 0x110c]
lea eax, [ebp - 0xd18]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x1a
lea eax, [ebp - 0xd18]
mov cl, 0x4d
call fcn.00403280
lea edx, [ebp - 0xd18]
lea eax, [ebp - 0x1160]
call fcn.004032b0
mov edx, 0x599318
lea eax, [ebp - 0x1160]
mov cl, 0x52
call fcn.00403280
lea edx, [ebp - 0x1160]
lea eax, [ebp - 0x1094]
call fcn.004054ec
mov eax, dword [ebp - 0x1094]
call fcn.004c6770
lea eax, [ebp - 0x1164]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1164]
push eax
lea eax, [ebp - 0x1168]
mov edx, dword [ebp - 0x29c]
add edx, 0x1a
call fcn.004054ec
mov eax, dword [ebp - 0x1168]
push eax
lea eax, [ebp - 0x116c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov ecx, dword [ebp - 0x116c]
mov edx, dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x2ac]
call fcn.0057188c
test al, al
je 0x58757f
mov eax, 0x599328
call fcn.004c6770
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
lea eax, [ebp - 0x1174]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1174]
lea edx, [ebp - 0x1170]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1170]
mov eax, 0x59935c
call fcn.0040588c
test eax, eax
jle 0x5875bc
mov byte [ebp - 0x4b5], 0
mov eax, 0x599370
call fcn.0049d570
test al, al
je 0x5875ea
cmp byte [ebp - 0x4b5], 0
je 0x5875ea
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x59937c
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, 0x59939c
call fcn.0049d570
test al, al
je 0x587617
cmp dword [ebp - 0x2ac], 6
jne 0x587617
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x5993a8
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x117c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x117c]
lea edx, [ebp - 0x1178]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1178]
mov eax, 0x5993c8
call fcn.0040588c
test eax, eax
jle 0x587780
lea eax, [ebp - 0x1184]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1184]
lea edx, [ebp - 0x1180]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1180]
mov eax, 0x5993d8
call fcn.0040588c
test eax, eax
jle 0x587780
lea eax, [ebp - 0x4f4]
push eax
lea eax, [ebp - 0x4f0]
push eax
lea ecx, [ebp - 0x4ec]
mov edx, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x2a8]
call fcn.0058236c
test eax, eax
jne 0x587780
lea edx, [ebp - 0x1188]
mov eax, dword [ebp - 0x4ec]
call fcn.0040a348
mov edx, dword [ebp - 0x1188]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
mov eax, dword [ebp - 0x29c]
add eax, 0x77
mov cl, 0x32
call fcn.004032bc
lea edx, [ebp - 0x118c]
mov eax, dword [ebp - 0x4f4]
call fcn.0040a348
mov edx, dword [ebp - 0x118c]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
mov eax, dword [ebp - 0x29c]
add eax, 0xaa
mov cl, 0x1e
call fcn.004032bc
lea edx, [ebp - 0x1190]
mov eax, dword [ebp - 0x4f0]
call fcn.0040a348
mov edx, dword [ebp - 0x1190]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
mov eax, dword [ebp - 0x29c]
add eax, 0xc9
mov cl, 0x14
call fcn.004032bc
mov eax, dword [ebp - 0x29c]
mov byte [eax + 0xde], 1
lea eax, [ebp - 0x1198]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1198]
lea edx, [ebp - 0x1194]
call fcn.0040a348
mov edx, dword [ebp - 0x1194]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
mov eax, dword [ebp - 0x29c]
mov cl, 0x19
call fcn.004032bc
mov edx, 0x5993e4
lea eax, [ebp - 0x11c4]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x11c4]
mov cl, 0x27
call fcn.00403280
lea edx, [ebp - 0x11c4]
lea eax, [ebp - 0x11f4]
call fcn.004032b0
mov edx, 0x59905c
lea eax, [ebp - 0x11f4]
mov cl, 0x2e
call fcn.00403280
lea edx, [ebp - 0x11f4]
lea eax, [ebp - 0x1238]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
lea eax, [ebp - 0x1238]
mov cl, 0x42
call fcn.00403280
lea edx, [ebp - 0x1238]
lea eax, [ebp - 0x1284]
call fcn.004032b0
mov edx, 0x599064
lea eax, [ebp - 0x1284]
mov cl, 0x49
call fcn.00403280
lea edx, [ebp - 0x1284]
lea eax, [ebp - 0x12e4]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x1a
lea eax, [ebp - 0x12e4]
mov cl, 0x5d
call fcn.00403280
lea edx, [ebp - 0x12e4]
lea eax, [ebp - 0x119c]
call fcn.004054ec
mov eax, dword [ebp - 0x119c]
call fcn.004c6770
mov edx, dword [ebp - 0x29c]
mov eax, 0x5993f4
call fcn.00402c58
test eax, eax
jle 0x5878cc
cmp byte [ebp - 0x4b5], 0
je 0x5878cc
mov eax, 0x599404
call fcn.004c6770
mov byte [ebp - 0x4b5], 0
imul eax, dword [ebp - 0x2ac], 0x83
lea edx, [eax + 0xc61f54]
mov eax, 0x59940c
call fcn.00402c58
test eax, eax
jne 0x58793d
cmp byte [ebp - 0x248], 2
jae 0x58793d
mov eax, dword [ebp - 0x29c]
cmp byte [eax], 8
jae 0x58793d
mov eax, 0x59941c
call fcn.004c6770
mov eax, 0x599464
call fcn.0049d570
test al, al
jne 0x58793d
imul eax, dword [ebp - 0x2ac], 0x83
add eax, 0xc61f54
mov edx, 0x5990ac
mov cl, 0x82
call fcn.00403280
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
lea eax, [ebp - 0x12ec]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x12ec]
lea edx, [ebp - 0x12e8]
call fcn.0040a0f8
mov edx, dword [ebp - 0x12e8]
mov eax, 0x599474
call fcn.0040588c
test eax, eax
jle 0x5879a4
mov eax, 0x599484
call fcn.004c6770
imul eax, dword [ebp - 0x2ac], 0x83
add eax, 0xc61f54
mov edx, 0x5990ac
mov cl, 0x82
call fcn.00403280
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
lea eax, [ebp - 0x12f4]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x12f4]
lea edx, [ebp - 0x12f0]
call fcn.0040a0f8
mov edx, dword [ebp - 0x12f0]
mov eax, 0x5994b0
call fcn.0040588c
test eax, eax
jg 0x587a10
lea eax, [ebp - 0x12fc]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x12fc]
lea edx, [ebp - 0x12f8]
call fcn.0040a0f8
mov edx, dword [ebp - 0x12f8]
mov eax, 0x5994c0
call fcn.0040588c
test eax, eax
jle 0x587a88
lea eax, [ebp - 0x1304]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1304]
lea edx, [ebp - 0x1300]
call fcn.0040a348
mov edx, dword [ebp - 0x1300]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
mov eax, dword [ebp - 0x29c]
add eax, 0x2f
mov cl, 0x14
call fcn.004032bc
imul eax, dword [ebp - 0x2ac], 0x83
add eax, 0xc61f54
mov edx, 0x5990ac
mov cl, 0x82
call fcn.00403280
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
mov eax, 0x5994d4
call fcn.0049d570
test al, al
je 0x587aa7
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x5994dc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x130c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x130c]
lea edx, [ebp - 0x1308]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1308]
mov eax, 0x5994f4
call fcn.0040588c
test eax, eax
jle 0x587b1a
lea eax, [ebp - 0x1314]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1314]
lea edx, [ebp - 0x1310]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1310]
mov eax, 0x599504
call fcn.0040588c
test eax, eax
jle 0x587b1a
mov byte [ebp - 0x4b5], 1
lea eax, [ebp - 0x131c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x131c]
lea edx, [ebp - 0x1318]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1318]
mov eax, 0x599514
call fcn.0040588c
test eax, eax
jle 0x587b8d
lea eax, [ebp - 0x1324]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1324]
lea edx, [ebp - 0x1320]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1320]
mov eax, 0x599524
call fcn.0040588c
test eax, eax
jle 0x587b8d
mov byte [ebp - 0x4b5], 1
lea eax, [ebp - 0x132c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x132c]
lea edx, [ebp - 0x1328]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1328]
mov eax, 0x599534
call fcn.0040588c
test eax, eax
jle 0x587c00
lea eax, [ebp - 0x1334]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1334]
lea edx, [ebp - 0x1330]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1330]
mov eax, 0x599544
call fcn.0040588c
test eax, eax
jle 0x587c00
mov byte [ebp - 0x4b5], 1
lea eax, [ebp - 0x133c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x133c]
lea edx, [ebp - 0x1338]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1338]
mov eax, 0x599554
call fcn.0040588c
test eax, eax
jle 0x587d64
lea eax, [ebp - 0x1344]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1344]
lea edx, [ebp - 0x1340]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1340]
mov eax, 0x599564
call fcn.0040588c
test eax, eax
jle 0x587c77
mov byte [ebp - 0x4b5], 1
lea eax, [ebp - 0x134c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x134c]
lea edx, [ebp - 0x1348]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1348]
mov eax, 0x599574
call fcn.0040588c
test eax, eax
jle 0x587cb4
mov byte [ebp - 0x4b5], 1
lea eax, [ebp - 0x1354]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1354]
lea edx, [ebp - 0x1350]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1350]
mov eax, 0x599584
call fcn.0040588c
test eax, eax
jle 0x587cf1
mov byte [ebp - 0x4b5], 1
lea eax, [ebp - 0x135c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x135c]
lea edx, [ebp - 0x1358]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1358]
mov eax, 0x599594
call fcn.0040588c
test eax, eax
jle 0x587d64
lea eax, [ebp - 0x1364]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1364]
lea edx, [ebp - 0x1360]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1360]
mov eax, 0x5995a0
call fcn.0040588c
test eax, eax
jle 0x587d64
mov byte [ebp - 0x4b5], 1
lea eax, [ebp - 0x136c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x136c]
lea edx, [ebp - 0x1368]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1368]
mov eax, 0x5993d8
call fcn.0040588c
test eax, eax
jle 0x587da1
mov byte [ebp - 0x4b5], 1
lea eax, [ebp - 0x1374]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1374]
lea edx, [ebp - 0x1370]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1370]
mov eax, 0x5995ac
call fcn.0040588c
test eax, eax
jle 0x587dde
mov byte [ebp - 0x4b5], 1
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
mov eax, 0x5995b4
call fcn.00402c58
test eax, eax
jle 0x587dfc
mov byte [ebp - 0x4b5], 1
lea eax, [ebp - 0x137c]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x137c]
lea edx, [ebp - 0x1378]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1378]
mov eax, 0x5995c4
call fcn.0040588c
test eax, eax
jle 0x587e3c
mov byte [ebp - 0x4b5], 1
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
mov eax, 0x5995d0
call fcn.00402c58
test eax, eax
jle 0x587e5a
mov byte [ebp - 0x4b5], 1
lea eax, [ebp - 0x1384]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1384]
lea edx, [ebp - 0x1380]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1380]
mov eax, 0x5993c8
call fcn.0040588c
test eax, eax
jle 0x587f03
lea eax, [ebp - 0x138c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x138c]
lea edx, [ebp - 0x1388]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1388]
mov eax, 0x5995e0
call fcn.0040588c
test eax, eax
jle 0x587f03
lea eax, [ebp - 0x1394]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1394]
lea edx, [ebp - 0x1390]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1390]
mov eax, 0x5995ec
call fcn.0040588c
test eax, eax
jle 0x587f03
mov byte [ebp - 0x4b5], 1
lea eax, [ebp - 0xdd4]
push eax
mov eax, dword [ebp - 0x29c]
mov ecx, 3
mov edx, 1
call fcn.004029ac
lea eax, [ebp - 0xdd4]
mov edx, 0x5995f4
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040335c
jne 0x587fc1
call fcn.00526694
test al, al
je 0x587fc1
lea eax, [ebp - 0x503]
push eax
lea eax, [ebp - 0x504]
push eax
lea ecx, [ebp - 0x502]
lea edx, [ebp - 0x501]
mov eax, dword [ebp - 0x2a8]
call fcn.005a9b88
mov byte [ebp - 0x53e], al
cmp byte [ebp - 0x53e], 0
je 0x587fc1
xor eax, eax
mov al, byte [ebp - 0x501]
call fcn.00550030
test al, al
je 0x587fc1
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov ecx, eax
mov edx, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x2a8]
call fcn.005507d4
mov dword [ebp - 0x52c], eax
cmp dword [ebp - 0x52c], 0
jle 0x587fc1
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
lea eax, [ebp - 0xdd4]
push eax
mov eax, dword [ebp - 0x29c]
mov ecx, 8
mov edx, 1
call fcn.004029ac
lea edx, [ebp - 0xdd4]
lea eax, [ebp - 0x139c]
call fcn.004054ec
mov eax, dword [ebp - 0x139c]
lea edx, [ebp - 0x1398]
call fcn.0040a0f8
mov eax, dword [ebp - 0x1398]
mov edx, 0x599600
call fcn.00405694
jne 0x58804a
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov ecx, eax
mov edx, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x2a8]
call fcn.00553c08
mov dword [ebp - 0x52c], eax
cmp dword [ebp - 0x52c], 0
jle 0x58804a
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
lea eax, [ebp - 0xdd4]
push eax
mov eax, dword [ebp - 0x29c]
mov ecx, 4
mov edx, 1
call fcn.004029ac
lea eax, [ebp - 0xdd4]
mov edx, 0x59960c
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040335c
jne 0x58839a
mov byte [ebp - 0x4b5], 0
mov edx, dword [ebp - 0x4bc]
mov eax, 0x59961c
call fcn.0040588c
test eax, eax
jne 0x58839a
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x588184
mov edx, 0x599634
lea eax, [ebp - 0x11c4]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x11c4]
mov cl, 0x27
call fcn.00403280
lea edx, [ebp - 0x11c4]
lea eax, [ebp - 0xe14]
call fcn.004032b0
mov edx, 0x599644
lea eax, [ebp - 0xe14]
mov cl, 0x2d
call fcn.00403280
lea edx, [ebp - 0xe14]
lea eax, [ebp - 0xe58]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
lea eax, [ebp - 0xe58]
mov cl, 0x41
call fcn.00403280
lea edx, [ebp - 0xe58]
lea eax, [ebp - 0x13e8]
call fcn.004032b0
mov edx, 0x59964c
lea eax, [ebp - 0x13e8]
mov cl, 0x47
call fcn.00403280
lea edx, [ebp - 0x13e8]
lea eax, [ebp - 0x13a0]
call fcn.004054ec
lea eax, [ebp - 0x13a0]
push eax
lea edx, [ebp - 0x13ec]
mov eax, dword [ebp - 0x2ac]
call fcn.0040a83c
mov edx, dword [ebp - 0x13ec]
pop eax
call fcn.00405550
mov eax, dword [ebp - 0x13a0]
xor edx, edx
call fcn.005540d4
lea eax, [ebp - 0x503]
push eax
lea eax, [ebp - 0x504]
push eax
lea ecx, [ebp - 0x502]
lea edx, [ebp - 0x501]
mov eax, dword [ebp - 0x2a8]
call fcn.005a9b88
mov byte [ebp - 0x53e], al
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x5881f3
lea ecx, [ebp - 0x13f4]
xor edx, edx
mov al, byte [ebp - 0x53e]
call fcn.0040ac1c
mov ecx, dword [ebp - 0x13f4]
lea eax, [ebp - 0x13f0]
mov edx, 0x59965c
call fcn.00405594
mov eax, dword [ebp - 0x13f0]
xor edx, edx
call fcn.005540d4
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58829a
push 0x599674
lea edx, [ebp - 0x13fc]
xor eax, eax
mov al, byte [ebp - 0x501]
call fcn.0040a83c
push dword [ebp - 0x13fc]
push 0x599690
lea edx, [ebp - 0x1400]
xor eax, eax
mov al, byte [ebp - 0x502]
call fcn.0040a83c
push dword [ebp - 0x1400]
push 0x5996a4
lea edx, [ebp - 0x1404]
xor eax, eax
mov al, byte [ebp - 0x503]
call fcn.0040a83c
push dword [ebp - 0x1404]
push 0x5996b8
lea edx, [ebp - 0x1408]
xor eax, eax
mov al, byte [ebp - 0x504]
call fcn.0040a83c
push dword [ebp - 0x1408]
lea eax, [ebp - 0x13f8]
mov edx, 8
call fcn.00405608
mov eax, dword [ebp - 0x13f8]
xor edx, edx
call fcn.005540d4
cmp byte [ebp - 0x53e], 0
je 0x58839a
xor eax, eax
mov al, byte [ebp - 0x501]
xor edx, edx
call fcn.005553f0
test al, al
je 0x588380
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x5882d8
xor edx, edx
mov eax, 0x5996c8
call fcn.005540d4
push 0
xor eax, eax
mov al, byte [ebp - 0x501]
push eax
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov ecx, eax
lea eax, [ebp - 0x4cc]
mov edx, dword [ebp - 0x2ac]
call fcn.0055da48
mov dword [ebp - 0x52c], eax
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58834f
lea edx, [ebp - 0x1410]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x1410]
lea eax, [ebp - 0x140c]
mov edx, 0x5996e4
call fcn.00405594
mov eax, dword [ebp - 0x140c]
xor edx, edx
call fcn.005540d4
cmp dword [ebp - 0x52c], 0
jle 0x588364
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58839a
xor edx, edx
mov eax, 0x5996fc
call fcn.005540d4
jmp 0x58839a
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58839a
xor edx, edx
mov eax, 0x599724
call fcn.005540d4
lea eax, [ebp - 0xdd4]
push eax
mov eax, dword [ebp - 0x29c]
mov ecx, 5
mov edx, 1
call fcn.004029ac
lea eax, [ebp - 0xdd4]
mov edx, 0x59973c
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040335c
jne 0x588707
mov al, byte [ebp - 0x4b5]
mov byte [ebp - 0x53c], al
mov byte [ebp - 0x4b5], 0
mov edx, dword [ebp - 0x4bc]
mov eax, 0x59961c
call fcn.0040588c
test eax, eax
jne 0x588707
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x5884e0
mov edx, 0x599744
lea eax, [ebp - 0x107c]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x107c]
mov cl, 0x28
call fcn.00403280
lea edx, [ebp - 0x107c]
lea eax, [ebp - 0x11f4]
call fcn.004032b0
mov edx, 0x599644
lea eax, [ebp - 0x11f4]
mov cl, 0x2e
call fcn.00403280
lea edx, [ebp - 0x11f4]
lea eax, [ebp - 0x1238]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
lea eax, [ebp - 0x1238]
mov cl, 0x42
call fcn.00403280
lea edx, [ebp - 0x1238]
lea eax, [ebp - 0x1460]
call fcn.004032b0
mov edx, 0x59964c
lea eax, [ebp - 0x1460]
mov cl, 0x48
call fcn.00403280
lea edx, [ebp - 0x1460]
lea eax, [ebp - 0x1414]
call fcn.004054ec
lea eax, [ebp - 0x1414]
push eax
lea edx, [ebp - 0x1464]
mov eax, dword [ebp - 0x2ac]
call fcn.0040a83c
mov edx, dword [ebp - 0x1464]
pop eax
call fcn.00405550
mov eax, dword [ebp - 0x1414]
xor edx, edx
call fcn.005540d4
lea eax, [ebp - 0x503]
push eax
lea eax, [ebp - 0x504]
push eax
lea ecx, [ebp - 0x502]
lea edx, [ebp - 0x501]
mov eax, dword [ebp - 0x2a8]
call fcn.005a9b88
mov byte [ebp - 0x53e], al
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58854f
lea ecx, [ebp - 0x146c]
xor edx, edx
mov al, byte [ebp - 0x53e]
call fcn.0040ac1c
mov ecx, dword [ebp - 0x146c]
lea eax, [ebp - 0x1468]
mov edx, 0x59975c
call fcn.00405594
mov eax, dword [ebp - 0x1468]
xor edx, edx
call fcn.005540d4
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x5885f6
push 0x599774
lea edx, [ebp - 0x1474]
xor eax, eax
mov al, byte [ebp - 0x501]
call fcn.0040a83c
push dword [ebp - 0x1474]
push 0x599690
lea edx, [ebp - 0x1478]
xor eax, eax
mov al, byte [ebp - 0x502]
call fcn.0040a83c
push dword [ebp - 0x1478]
push 0x5996a4
lea edx, [ebp - 0x147c]
xor eax, eax
mov al, byte [ebp - 0x503]
call fcn.0040a83c
push dword [ebp - 0x147c]
push 0x5996b8
lea edx, [ebp - 0x1480]
xor eax, eax
mov al, byte [ebp - 0x504]
call fcn.0040a83c
push dword [ebp - 0x1480]
lea eax, [ebp - 0x1470]
mov edx, 8
call fcn.00405608
mov eax, dword [ebp - 0x1470]
xor edx, edx
call fcn.005540d4
cmp byte [ebp - 0x53e], 0
je 0x5886fb
xor eax, eax
mov al, byte [ebp - 0x501]
xor edx, edx
call fcn.0055a384
test al, al
je 0x5886e1
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x588634
xor edx, edx
mov eax, 0x599794
call fcn.005540d4
push 0
xor eax, eax
mov al, byte [ebp - 0x501]
add eax, 0x3e8
push eax
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov ecx, eax
lea eax, [ebp - 0x4cc]
mov edx, dword [ebp - 0x2ac]
call fcn.0055da48
mov dword [ebp - 0x52c], eax
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x5886b0
lea edx, [ebp - 0x1488]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x1488]
lea eax, [ebp - 0x1484]
mov edx, 0x5997b0
call fcn.00405594
mov eax, dword [ebp - 0x1484]
xor edx, edx
call fcn.005540d4
cmp dword [ebp - 0x52c], 0
jle 0x5886c5
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x5886fb
xor edx, edx
mov eax, 0x5997c8
call fcn.005540d4
jmp 0x5886fb
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x5886fb
xor edx, edx
mov eax, 0x5997f0
call fcn.005540d4
mov al, byte [ebp - 0x53c]
mov byte [ebp - 0x4b5], al
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
mov eax, 0x5995d0
call fcn.00402c58
dec eax
jne 0x58873d
mov eax, dword [ebp - 0x2ac]
cmp dword [eax*4 + 0x11f040c], 2
jne 0x58873d
mov eax, dword [ebp - 0x29c]
lea edi, [eax + 0x2f]
mov esi, 0x599808
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x507], 0
mov eax, 0x599818
call fcn.0049d570
test al, al
je 0x588771
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x599828
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x29c]
lea edi, [eax + 0x1a]
mov esi, 0x599830
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edx, dword [ebp - 0x29c]
mov eax, 0x599828
call fcn.00402c58
test eax, eax
jle 0x5887b3
mov edx, dword [ebp - 0x29c]
add edx, 0x1a
mov eax, 0x599830
call fcn.00402c58
test eax, eax
jle 0x5887b3
mov dl, 1
mov eax, dword [ebp - 0x2ac]
call fcn.005266c8
dec eax
jne 0x5887b3
mov byte [ebp - 0x507], 1
cmp byte [ebp - 0x507], 0
jne 0x5887d6
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
mov eax, 0x5995d0
call fcn.00402c58
dec eax
jne 0x58894e
mov dl, 1
mov eax, dword [ebp - 0x2ac]
call fcn.005266c8
dec eax
jne 0x58894e
mov eax, 0x599840
call fcn.004c6770
call fcn.0054bf70
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov ecx, eax
mov edx, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x2a8]
call fcn.0054eed8
mov dword [ebp - 0x52c], eax
cmp dword [ebp - 0x52c], 0
jle 0x58894e
mov byte [ebp - 0x4c1], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x599828
call fcn.00402c58
test eax, eax
jne 0x598af7
mov byte [ebp - 0x508], 0
mov eax, dword [ebp - 0x2ac]
mov edx, dword [ebp - 0x2ac]
add edx, dword [ebp - 0x52c]
dec edx
sub edx, eax
jl 0x598af7
inc edx
mov dword [ebp - 0x5b0], edx
mov dword [ebp - 0x530], eax
mov eax, dword [ebp - 0x530]
mov eax, dword [eax*4 + 0x11f040c]
mov dword [ebp - 0x534], eax
mov eax, dword [ebp - 0x530]
mov dword [eax*4 + 0x11f040c], 2
push 0
imul eax, dword [ebp - 0x530], 0x651
lea edx, [eax*2 + 0x114d694]
mov cl, 1
mov eax, dword [ebp - 0x530]
call fcn.005b1570
test eax, eax
jle 0x588924
mov eax, dword [ebp - 0x530]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax + 0x11f2414], 0
mov eax, dword [ebp - 0x530]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax + 0x11f2418], 0
imul eax, dword [ebp - 0x530], 0x65
lea edi, [eax + 0x11eb524]
mov esi, 0x59984c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
imul eax, dword [ebp - 0x530], 0xac1
mov dword [eax*8 + 0xc74ae8], 2
mov eax, 0x59985c
call fcn.004c6770
mov byte [ebp - 0x508], 1
jmp 0x588937
mov eax, dword [ebp - 0x530]
mov edx, dword [ebp - 0x534]
mov dword [eax*4 + 0x11f040c], edx
inc dword [ebp - 0x530]
dec dword [ebp - 0x5b0]
jne 0x588878
jmp 0x598af7
lea eax, [ebp - 0xdd4]
push eax
mov eax, dword [ebp - 0x29c]
mov ecx, 8
mov edx, 1
call fcn.004029ac
lea edx, [ebp - 0xdd4]
lea eax, [ebp - 0x1490]
call fcn.004054ec
mov eax, dword [ebp - 0x1490]
lea edx, [ebp - 0x148c]
call fcn.0040a0f8
mov eax, dword [ebp - 0x148c]
mov edx, 0x599868
call fcn.00405694
jne 0x588ba5
mov al, byte [ebp - 0x4b5]
mov byte [ebp - 0x53c], al
mov byte [ebp - 0x4b5], 0
mov edx, dword [ebp - 0x4bc]
mov eax, 0x59961c
call fcn.0040588c
test eax, eax
jne 0x588b90
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x588ab1
mov edx, 0x599874
lea eax, [ebp - 0x14c0]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x14c0]
mov cl, 0x2a
call fcn.00403280
lea edx, [ebp - 0x14c0]
lea eax, [ebp - 0x14f4]
call fcn.004032b0
mov edx, 0x599644
lea eax, [ebp - 0x14f4]
mov cl, 0x30
call fcn.00403280
lea edx, [ebp - 0x14f4]
lea eax, [ebp - 0x153c]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
lea eax, [ebp - 0x153c]
mov cl, 0x44
call fcn.00403280
lea edx, [ebp - 0x153c]
lea eax, [ebp - 0x1588]
call fcn.004032b0
mov edx, 0x59964c
lea eax, [ebp - 0x1588]
mov cl, 0x4a
call fcn.00403280
lea edx, [ebp - 0x1588]
lea eax, [ebp - 0x1494]
call fcn.004054ec
lea eax, [ebp - 0x1494]
push eax
lea edx, [ebp - 0x158c]
mov eax, dword [ebp - 0x2ac]
call fcn.0040a83c
mov edx, dword [ebp - 0x158c]
pop eax
call fcn.00405550
mov eax, dword [ebp - 0x1494]
xor edx, edx
call fcn.005540d4
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov edx, dword [ebp - 0x2a8]
call fcn.0056da14
test al, al
je 0x588b90
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x588ae9
xor edx, edx
mov eax, 0x599890
call fcn.005540d4
mov eax, dword [ebp - 0x2a8]
push eax
push 0x1388
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov ecx, eax
lea eax, [ebp - 0x4cc]
mov edx, dword [ebp - 0x2ac]
call fcn.0055da48
mov dword [ebp - 0x52c], eax
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x588b61
lea edx, [ebp - 0x1594]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x1594]
lea eax, [ebp - 0x1590]
mov edx, 0x5998ac
call fcn.00405594
mov eax, dword [ebp - 0x1590]
xor edx, edx
call fcn.005540d4
cmp dword [ebp - 0x52c], 0
jle 0x588b76
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x588b90
xor edx, edx
mov eax, 0x5998c4
call fcn.005540d4
call fcn.00526604
test al, al
je 0x588ba5
mov al, byte [ebp - 0x53c]
mov byte [ebp - 0x4b5], al
lea eax, [ebp - 0xdd4]
push eax
mov eax, dword [ebp - 0x29c]
mov ecx, 6
mov edx, 1
call fcn.004029ac
lea edx, [ebp - 0xdd4]
lea eax, [ebp - 0x159c]
call fcn.004054ec
mov eax, dword [ebp - 0x159c]
lea edx, [ebp - 0x1598]
call fcn.0040a0f8
mov eax, dword [ebp - 0x1598]
mov edx, 0x5998ec
call fcn.00405694
je 0x588c27
mov edx, dword [ebp - 0x2ac]
mov eax, 0x5998fc
call fcn.0056e1ac
test al, al
jne 0x588c27
mov eax, dword [ebp - 0x29c]
add eax, 0x1a
mov edx, 0x599908
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040335c
jne 0x588fb7
mov byte [ebp - 0x4b5], 0
mov eax, dword [0x7d6384]
mov byte [eax], 1
mov edx, dword [ebp - 0x4bc]
mov eax, 0x59961c
call fcn.0040588c
test eax, eax
jne 0x588fb7
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x588d32
mov edx, 0x599910
lea eax, [ebp - 0x14c0]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x14c0]
mov cl, 0x2a
call fcn.00403280
lea edx, [ebp - 0x14c0]
lea eax, [ebp - 0x14f4]
call fcn.004032b0
mov edx, 0x599644
lea eax, [ebp - 0x14f4]
mov cl, 0x30
call fcn.00403280
lea edx, [ebp - 0x14f4]
lea eax, [ebp - 0x153c]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
lea eax, [ebp - 0x153c]
mov cl, 0x44
call fcn.00403280
lea edx, [ebp - 0x153c]
lea eax, [ebp - 0x1588]
call fcn.004032b0
mov edx, 0x59964c
lea eax, [ebp - 0x1588]
mov cl, 0x4a
call fcn.00403280
lea edx, [ebp - 0x1588]
lea eax, [ebp - 0x15a0]
call fcn.004054ec
lea eax, [ebp - 0x15a0]
push eax
lea edx, [ebp - 0x15a4]
mov eax, dword [ebp - 0x2ac]
call fcn.0040a83c
mov edx, dword [ebp - 0x15a4]
pop eax
call fcn.00405550
mov eax, dword [ebp - 0x15a0]
xor edx, edx
call fcn.005540d4
lea eax, [ebp - 0x503]
push eax
lea eax, [ebp - 0x504]
push eax
lea ecx, [ebp - 0x502]
lea edx, [ebp - 0x501]
mov eax, dword [ebp - 0x2a8]
call fcn.005a9b88
mov byte [ebp - 0x53e], al
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x588da1
lea ecx, [ebp - 0x15ac]
xor edx, edx
mov al, byte [ebp - 0x53e]
call fcn.0040ac1c
mov ecx, dword [ebp - 0x15ac]
lea eax, [ebp - 0x15a8]
mov edx, 0x59992c
call fcn.00405594
mov eax, dword [ebp - 0x15a8]
xor edx, edx
call fcn.005540d4
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x588e48
push 0x599948
lea edx, [ebp - 0x15b4]
xor eax, eax
mov al, byte [ebp - 0x501]
call fcn.0040a83c
push dword [ebp - 0x15b4]
push 0x599690
lea edx, [ebp - 0x15b8]
xor eax, eax
mov al, byte [ebp - 0x502]
call fcn.0040a83c
push dword [ebp - 0x15b8]
push 0x5996a4
lea edx, [ebp - 0x15bc]
xor eax, eax
mov al, byte [ebp - 0x503]
call fcn.0040a83c
push dword [ebp - 0x15bc]
push 0x5996b8
lea edx, [ebp - 0x15c0]
xor eax, eax
mov al, byte [ebp - 0x504]
call fcn.0040a83c
push dword [ebp - 0x15c0]
lea eax, [ebp - 0x15b0]
mov edx, 8
call fcn.00405608
mov eax, dword [ebp - 0x15b0]
xor edx, edx
call fcn.005540d4
cmp byte [ebp - 0x53e], 0
je 0x588fb7
xor eax, eax
mov al, byte [ebp - 0x501]
mov ecx, dword [ebp - 0x2ac]
xor edx, edx
call fcn.00555ec4
test al, al
je 0x588f9d
xor eax, eax
mov al, byte [ebp - 0x501]
call fcn.005595f0
mov dword [ebp - 0x52c], eax
lea eax, [ebp - 0x4f4]
push eax
lea eax, [ebp - 0x4f0]
push eax
lea ecx, [ebp - 0x4ec]
mov edx, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x2a8]
call fcn.0058236c
test eax, eax
je 0x588ebe
lea eax, [ebp - 0x4f4]
mov edx, 0x599968
call fcn.00405310
mov dword [ebp - 0x51c], 0xffffffff
push 0
xor eax, eax
mov al, byte [ebp - 0x501]
add eax, 0x7d0
push eax
mov eax, dword [ebp - 0x51c]
push eax
mov eax, dword [ebp - 0x4ec]
push eax
mov eax, dword [ebp - 0x4f4]
push eax
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov ecx, eax
lea eax, [ebp - 0x4cc]
mov edx, dword [ebp - 0x2ac]
call fcn.0055da48
mov dword [ebp - 0x52c], eax
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x588f53
lea edx, [ebp - 0x15c8]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x15c8]
lea eax, [ebp - 0x15c4]
mov edx, 0x599974
call fcn.00405594
mov eax, dword [ebp - 0x15c4]
xor edx, edx
call fcn.005540d4
cmp dword [ebp - 0x52c], 0
jle 0x588f68
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
mov al, byte [ebp - 0x52c]
mov edx, dword [ebp - 0x2ac]
mov ecx, edx
shl edx, 4
add edx, ecx
mov byte [edx + 0x11f2418], al
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x588fb7
xor edx, edx
mov eax, 0x599990
call fcn.005540d4
jmp 0x588fb7
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x588fb7
xor edx, edx
mov eax, 0x5999bc
call fcn.005540d4
mov eax, 0x5999dc
call fcn.0049d570
test al, al
je 0x588fe0
cmp dword [ebp - 0x2ac], 0xf
jg 0x588fe0
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x5999e8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, 0x599a00
call fcn.0049d570
test al, al
je 0x589002
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x599a0c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, 0x599a28
call fcn.0049d570
test al, al
je 0x58906c
cmp dword [ebp - 0x2ac], 0x96
jg 0x58906c
lea edx, [ebp - 0x15d0]
mov eax, dword [ebp - 0x2ac]
call fcn.0040a83c
mov ecx, dword [ebp - 0x15d0]
lea eax, [ebp - 0x15cc]
mov edx, 0x599a38
call fcn.00405594
mov edx, dword [ebp - 0x15cc]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
mov eax, dword [ebp - 0x29c]
mov cl, 0x19
call fcn.004032bc
mov eax, 0x599a50
call fcn.0049d570
test al, al
je 0x589095
cmp dword [ebp - 0x2ac], 4
jg 0x589095
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x599a60
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, 0x599a7c
call fcn.0049d570
test al, al
je 0x5890bf
cmp dword [ebp - 0x2ac], 0xa
jg 0x5890bf
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x599a84
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, 0x599aa0
call fcn.0049d570
test al, al
jne 0x5890df
mov eax, 0x599ab0
call fcn.0049d570
test al, al
je 0x5891d9
cmp dword [ebp - 0x2ac], 0x96
jg 0x5891d9
mov edx, dword [ebp - 0x29c]
mov eax, 0x599abc
call fcn.00402c58
test eax, eax
jne 0x5891d9
cmp dword [ebp - 0x2ac], 1
jg 0x589125
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x599ac4
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x589175
lea edx, [ebp - 0x15d8]
mov eax, dword [ebp - 0x2ac]
call fcn.0040a83c
mov ecx, dword [ebp - 0x15d8]
lea eax, [ebp - 0x15d4]
mov edx, 0x599adc
call fcn.00405594
mov edx, dword [ebp - 0x15d4]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
mov eax, dword [ebp - 0x29c]
mov cl, 0x19
call fcn.004032bc
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x599ae4
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x599af8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x2ac], 6
jne 0x5891d9
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x599b08
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x29c]
lea edi, [eax + 0x1a]
mov esi, 0x599b24
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x29c]
lea edi, [eax + 0x2f]
mov esi, 0x599b2c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov eax, 0x599b44
call fcn.0049d570
test al, al
je 0x589240
cmp dword [ebp - 0x2ac], 4
jg 0x589240
lea edx, [ebp - 0x15e0]
mov eax, dword [ebp - 0x2ac]
call fcn.0040a83c
mov ecx, dword [ebp - 0x15e0]
lea eax, [ebp - 0x15dc]
mov edx, 0x599b54
call fcn.00405594
mov edx, dword [ebp - 0x15dc]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
mov eax, dword [ebp - 0x29c]
mov cl, 0x19
call fcn.004032bc
mov eax, 0x599b6c
call fcn.0049d570
test al, al
je 0x5892a7
cmp dword [ebp - 0x2ac], 0x14
jg 0x5892a7
lea edx, [ebp - 0x15e8]
mov eax, dword [ebp - 0x2ac]
call fcn.0040a83c
mov ecx, dword [ebp - 0x15e8]
lea eax, [ebp - 0x15e4]
mov edx, 0x599b80
call fcn.00405594
mov edx, dword [ebp - 0x15e4]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
mov eax, dword [ebp - 0x29c]
mov cl, 0x19
call fcn.004032bc
mov eax, 0x599b9c
call fcn.0049d570
test al, al
je 0x5892c8
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x599ba8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, 0x599b9c
call fcn.0049d570
test al, al
je 0x5892eb
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x599bbc
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov eax, 0x599b9c
call fcn.0049d570
test al, al
je 0x58930d
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x599bd4
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, 0x599b9c
call fcn.0049d570
test al, al
je 0x58932e
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x599be8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, 0x599b9c
call fcn.0049d570
test al, al
je 0x58934f
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x599bfc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x15f0]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x15f0]
lea edx, [ebp - 0x15ec]
call fcn.0040a0f8
mov edx, dword [ebp - 0x15ec]
mov eax, 0x599c14
call fcn.0040588c
test eax, eax
jle 0x58964d
mov edx, 0x599c1c
lea eax, [ebp - 0x100c]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x100c]
mov cl, 0x24
call fcn.00403280
lea edx, [ebp - 0x100c]
lea eax, [ebp - 0x1620]
call fcn.004032b0
mov edx, 0x599c28
lea eax, [ebp - 0x1620]
mov cl, 0x29
call fcn.00403280
lea edx, [ebp - 0x1620]
lea eax, [ebp - 0x15f4]
call fcn.004054ec
lea eax, [ebp - 0x15f4]
push eax
lea edx, [ebp - 0x1624]
mov al, byte [ebp - 0x4b5]
call fcn.0049fff8
mov edx, dword [ebp - 0x1624]
pop eax
call fcn.00405550
mov eax, dword [ebp - 0x15f4]
call fcn.004c6770
lea eax, [ebp - 0x162c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x162c]
lea edx, [ebp - 0x1628]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1628]
mov eax, 0x5992f4
call fcn.0040588c
test eax, eax
jle 0x58952e
mov byte [ebp - 0x4b5], 0
mov edx, 0x599c30
lea eax, [ebp - 0x1658]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x1658]
mov cl, 0x25
call fcn.00403280
lea edx, [ebp - 0x1658]
lea eax, [ebp - 0x14c0]
call fcn.004032b0
mov edx, 0x599c28
lea eax, [ebp - 0x14c0]
mov cl, 0x2a
call fcn.00403280
lea edx, [ebp - 0x14c0]
lea eax, [ebp - 0x1630]
call fcn.004054ec
lea eax, [ebp - 0x1630]
push eax
lea edx, [ebp - 0x165c]
mov al, byte [ebp - 0x4b5]
call fcn.0049fff8
mov edx, dword [ebp - 0x165c]
pop eax
call fcn.00405550
mov eax, dword [ebp - 0x1630]
call fcn.004c6770
mov byte [ebp - 0x4b6], 1
mov al, byte [ebp - 0x4b6]
call fcn.004a11e8
mov edx, eax
lea eax, [ebp - 0x1664]
call fcn.00405460
mov ecx, dword [ebp - 0x1664]
lea eax, [ebp - 0x1660]
mov edx, 0x599c48
call fcn.00405594
mov eax, dword [ebp - 0x1660]
call fcn.004c6770
call fcn.0052f718
test al, al
je 0x58952e
mov eax, 0x599c64
call fcn.004c6770
jmp 0x58d9e8
lea eax, [ebp - 0x166c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x166c]
lea edx, [ebp - 0x1668]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1668]
mov eax, 0x599c74
call fcn.0040588c
test eax, eax
jle 0x58964d
mov byte [ebp - 0x4b5], 0
mov edx, 0x599c78
lea eax, [ebp - 0x1658]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x1658]
mov cl, 0x25
call fcn.00403280
lea edx, [ebp - 0x1658]
lea eax, [ebp - 0x14c0]
call fcn.004032b0
mov edx, 0x599c28
lea eax, [ebp - 0x14c0]
mov cl, 0x2a
call fcn.00403280
lea edx, [ebp - 0x14c0]
lea eax, [ebp - 0x1670]
call fcn.004054ec
lea eax, [ebp - 0x1670]
push eax
lea edx, [ebp - 0x1674]
mov al, byte [ebp - 0x4b5]
call fcn.0049fff8
mov edx, dword [ebp - 0x1674]
pop eax
call fcn.00405550
mov eax, dword [ebp - 0x1670]
call fcn.004c6770
mov byte [ebp - 0x4b6], 1
mov al, byte [ebp - 0x4b6]
call fcn.004a11e8
mov edx, eax
lea eax, [ebp - 0x167c]
call fcn.00405460
mov ecx, dword [ebp - 0x167c]
lea eax, [ebp - 0x1678]
mov edx, 0x599c48
call fcn.00405594
mov eax, dword [ebp - 0x1678]
call fcn.004c6770
call fcn.0052f718
test al, al
je 0x58964d
mov eax, 0x599c90
call fcn.004c6770
jmp 0x58d9e8
mov eax, 0x599ca0
call fcn.0049d570
test al, al
je 0x58966f
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x599cac
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
call fcn.00529024
mov byte [ebp - 0x507], al
mov al, byte [ebp - 0x507]
call fcn.004a11e8
mov edx, eax
lea eax, [ebp - 0x1684]
call fcn.00405460
mov ecx, dword [ebp - 0x1684]
lea eax, [ebp - 0x1680]
mov edx, 0x599cc8
call fcn.00405594
mov eax, dword [ebp - 0x1680]
call fcn.004c6770
cmp byte [ebp - 0x507], 0
je 0x58973a
mov eax, dword [ebp - 0x2a8]
call fcn.005aa59c
mov dword [ebp - 0x52c], eax
lea edx, [ebp - 0x168c]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x168c]
lea eax, [ebp - 0x1688]
mov edx, 0x599ce0
call fcn.00405594
mov eax, dword [ebp - 0x1688]
call fcn.004c6770
cmp dword [ebp - 0x52c], 0xa
sete byte [ebp - 0x507]
cmp byte [ebp - 0x507], 0
jne 0x58973a
mov edx, dword [ebp - 0x29c]
mov eax, 0x599cec
call fcn.00402c58
test eax, eax
jle 0x58973a
cmp dword [ebp - 0x52c], 8
jne 0x58973a
mov byte [ebp - 0x507], 1
cmp byte [ebp - 0x507], 0
jne 0x589811
lea eax, [ebp - 0x1694]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1694]
lea edx, [ebp - 0x1690]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1690]
mov eax, 0x599c14
call fcn.0040588c
test eax, eax
jle 0x589811
lea eax, [ebp - 0x169c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x169c]
lea edx, [ebp - 0x1698]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1698]
mov eax, 0x5992f4
call fcn.0040588c
test eax, eax
jle 0x589811
mov edx, 0x599cf4
lea eax, [ebp - 0x16c0]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x16c0]
mov cl, 0x1f
call fcn.00403280
lea edx, [ebp - 0x16c0]
lea eax, [ebp - 0x16a0]
call fcn.004054ec
mov eax, dword [ebp - 0x16a0]
call fcn.004c6770
call fcn.0052f718
test al, al
jne 0x589811
push ebp
call fcn.00585694
pop ecx
test al, al
je 0x589811
mov byte [ebp - 0x507], 1
mov al, byte [ebp - 0x507]
call fcn.004a11e8
mov edx, eax
lea eax, [ebp - 0x16c8]
call fcn.00405460
mov ecx, dword [ebp - 0x16c8]
lea eax, [ebp - 0x16c4]
mov edx, 0x599d04
call fcn.00405594
mov eax, dword [ebp - 0x16c4]
call fcn.004c6770
mov eax, 0x599d14
call fcn.0049d570
test al, al
je 0x58985f
mov byte [ebp - 0x507], 1
mov al, byte [ebp - 0x507]
call fcn.004a11e8
mov edx, eax
lea eax, [ebp - 0x16d0]
call fcn.00405460
mov ecx, dword [ebp - 0x16d0]
lea eax, [ebp - 0x16cc]
mov edx, 0x599d04
call fcn.00405594
mov eax, dword [ebp - 0x16cc]
call fcn.004c6770
cmp byte [ebp - 0x507], 0
jne 0x58a31d
lea eax, [ebp - 0xdd4]
push eax
mov eax, dword [ebp - 0x29c]
mov ecx, 6
mov edx, 1
call fcn.004029ac
lea edx, [ebp - 0xdd4]
lea eax, [ebp - 0x16d8]
call fcn.004054ec
mov eax, dword [ebp - 0x16d8]
lea edx, [ebp - 0x16d4]
call fcn.0040a0f8
mov eax, dword [ebp - 0x16d4]
mov edx, 0x599d24
call fcn.00405694
je 0x58a31d
lea eax, [ebp - 0xdd4]
push eax
mov eax, dword [ebp - 0x29c]
mov ecx, 6
mov edx, 1
call fcn.004029ac
lea edx, [ebp - 0xdd4]
lea eax, [ebp - 0x16e0]
call fcn.004054ec
mov eax, dword [ebp - 0x16e0]
lea edx, [ebp - 0x16dc]
call fcn.0040a0f8
mov eax, dword [ebp - 0x16dc]
mov edx, 0x599d34
call fcn.00405694
je 0x58a31d
lea eax, [ebp - 0xdd4]
push eax
mov eax, dword [ebp - 0x29c]
mov ecx, 4
mov edx, 1
call fcn.004029ac
lea edx, [ebp - 0xdd4]
lea eax, [ebp - 0x16e8]
call fcn.004054ec
mov eax, dword [ebp - 0x16e8]
lea edx, [ebp - 0x16e4]
call fcn.0040a0f8
mov eax, dword [ebp - 0x16e4]
mov edx, 0x599adc
call fcn.00405694
je 0x58a31d
lea eax, [ebp - 0x16f0]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x16f0]
lea edx, [ebp - 0x16ec]
call fcn.0040a0f8
mov edx, dword [ebp - 0x16ec]
mov eax, 0x599d44
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x16f8]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x16f8]
lea edx, [ebp - 0x16f4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x16f4]
mov eax, 0x599d58
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1700]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1700]
lea edx, [ebp - 0x16fc]
call fcn.0040a0f8
mov edx, dword [ebp - 0x16fc]
mov eax, 0x599d68
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1708]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1708]
lea edx, [ebp - 0x1704]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1704]
mov eax, 0x599d74
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1710]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1710]
lea edx, [ebp - 0x170c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x170c]
mov eax, 0x599d84
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1718]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1718]
lea edx, [ebp - 0x1714]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1714]
mov eax, 0x599d94
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1720]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1720]
lea edx, [ebp - 0x171c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x171c]
mov eax, 0x599da8
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1728]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1728]
lea edx, [ebp - 0x1724]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1724]
mov eax, 0x599dbc
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1730]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1730]
lea edx, [ebp - 0x172c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x172c]
mov eax, 0x599dd0
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1738]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1738]
lea edx, [ebp - 0x1734]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1734]
mov eax, 0x599de4
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1740]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1740]
lea edx, [ebp - 0x173c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x173c]
mov eax, 0x599df8
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1748]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1748]
lea edx, [ebp - 0x1744]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1744]
mov eax, 0x599e0c
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1750]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1750]
lea edx, [ebp - 0x174c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x174c]
mov eax, 0x599e20
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1758]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1758]
lea edx, [ebp - 0x1754]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1754]
mov eax, 0x599e30
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1760]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1760]
lea edx, [ebp - 0x175c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x175c]
mov eax, 0x599e40
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1768]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1768]
lea edx, [ebp - 0x1764]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1764]
mov eax, 0x599e50
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1770]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1770]
lea edx, [ebp - 0x176c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x176c]
mov eax, 0x599e64
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1778]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1778]
lea edx, [ebp - 0x1774]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1774]
mov eax, 0x599e78
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1780]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1780]
lea edx, [ebp - 0x177c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x177c]
mov eax, 0x599e88
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1788]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1788]
lea edx, [ebp - 0x1784]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1784]
mov eax, 0x599e9c
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1790]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1790]
lea edx, [ebp - 0x178c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x178c]
mov eax, 0x599eac
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1798]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1798]
lea edx, [ebp - 0x1794]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1794]
mov eax, 0x599ec0
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x17a0]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x17a0]
lea edx, [ebp - 0x179c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x179c]
mov eax, 0x599ed4
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x17a8]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x17a8]
lea edx, [ebp - 0x17a4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x17a4]
mov eax, 0x599ee8
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x17b0]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x17b0]
lea edx, [ebp - 0x17ac]
call fcn.0040a0f8
mov edx, dword [ebp - 0x17ac]
mov eax, 0x599ef8
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x17b8]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x17b8]
lea edx, [ebp - 0x17b4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x17b4]
mov eax, 0x599f08
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x17c0]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x17c0]
lea edx, [ebp - 0x17bc]
call fcn.0040a0f8
mov edx, dword [ebp - 0x17bc]
mov eax, 0x599f18
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x17c8]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x17c8]
lea edx, [ebp - 0x17c4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x17c4]
mov eax, 0x599f28
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x17d0]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x17d0]
lea edx, [ebp - 0x17cc]
call fcn.0040a0f8
mov edx, dword [ebp - 0x17cc]
mov eax, 0x599f38
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x17d8]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x17d8]
lea edx, [ebp - 0x17d4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x17d4]
mov eax, 0x599f48
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x17e0]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x17e0]
lea edx, [ebp - 0x17dc]
call fcn.0040a0f8
mov edx, dword [ebp - 0x17dc]
mov eax, 0x599f58
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x17e8]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x17e8]
lea edx, [ebp - 0x17e4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x17e4]
mov eax, 0x599f68
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x17f0]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x17f0]
lea edx, [ebp - 0x17ec]
call fcn.0040a0f8
mov edx, dword [ebp - 0x17ec]
mov eax, 0x599f78
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x17f8]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x17f8]
lea edx, [ebp - 0x17f4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x17f4]
mov eax, 0x599f88
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1800]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1800]
lea edx, [ebp - 0x17fc]
call fcn.0040a0f8
mov edx, dword [ebp - 0x17fc]
mov eax, 0x599f98
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1808]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1808]
lea edx, [ebp - 0x1804]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1804]
mov eax, 0x599fa8
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1810]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1810]
lea edx, [ebp - 0x180c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x180c]
mov eax, 0x599fb8
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1818]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1818]
lea edx, [ebp - 0x1814]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1814]
mov eax, 0x599fc8
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1820]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1820]
lea edx, [ebp - 0x181c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x181c]
mov eax, 0x599fd8
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1828]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1828]
lea edx, [ebp - 0x1824]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1824]
mov eax, 0x599fe8
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1830]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1830]
lea edx, [ebp - 0x182c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x182c]
mov eax, 0x599ff8
call fcn.0040588c
test eax, eax
jg 0x58a31d
lea eax, [ebp - 0x1838]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1838]
lea edx, [ebp - 0x1834]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1834]
mov eax, 0x59a008
call fcn.0040588c
test eax, eax
jle 0x58ad4f
lea eax, [ebp - 0x1840]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1840]
lea edx, [ebp - 0x183c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x183c]
mov eax, 0x59a018
call fcn.0040588c
test eax, eax
jne 0x58ad4f
mov al, byte [ebp - 0x4b5]
mov byte [ebp - 0x53c], al
mov byte [ebp - 0x4b5], 0
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a024
call fcn.00402c58
test eax, eax
jg 0x58a392
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a028
call fcn.00402c58
test eax, eax
jle 0x58a39b
mov byte [ebp - 0x53e], 1
jmp 0x58a3a6
call fcn.00529024
mov byte [ebp - 0x53e], al
lea eax, [ebp - 0x1848]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1848]
lea edx, [ebp - 0x1844]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1844]
mov eax, 0x599c14
call fcn.0040588c
test eax, eax
jle 0x58a466
lea eax, [ebp - 0x1850]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1850]
lea edx, [ebp - 0x184c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x184c]
mov eax, 0x5992f4
call fcn.0040588c
test eax, eax
jle 0x58a423
call fcn.0052f718
xor al, 1
mov byte [ebp - 0x53e], al
lea eax, [ebp - 0x1858]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1858]
lea edx, [ebp - 0x1854]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1854]
mov eax, 0x599c74
call fcn.0040588c
test eax, eax
jle 0x58a466
call fcn.0052f718
xor al, 1
mov byte [ebp - 0x53e], al
cmp byte [ebp - 0x53e], 0
jne 0x58a940
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a034
call fcn.00402c58
test eax, eax
jle 0x58a5a0
lea eax, [ebp - 0x1860]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1860]
lea edx, [ebp - 0x185c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x185c]
mov eax, 0x599d94
call fcn.0040588c
test eax, eax
jle 0x58a4c8
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a038
call fcn.00402c58
test eax, eax
jle 0x58a4e3
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a040
call fcn.00402c58
test eax, eax
jle 0x58a4fe
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a048
call fcn.00402c58
test eax, eax
jle 0x58a519
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a050
call fcn.00402c58
test eax, eax
jle 0x58a534
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a058
call fcn.00402c58
test eax, eax
jle 0x58a54f
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a060
call fcn.00402c58
test eax, eax
jle 0x58a56a
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a068
call fcn.00402c58
test eax, eax
jle 0x58a585
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a070
call fcn.00402c58
test eax, eax
jle 0x58a5a0
mov byte [ebp - 0x53e], 1
lea eax, [ebp - 0x1868]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1868]
lea edx, [ebp - 0x1864]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1864]
mov eax, 0x59a080
call fcn.0040588c
test eax, eax
jle 0x58a60c
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a088
call fcn.00402c58
test eax, eax
jle 0x58a5f1
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a08c
call fcn.00402c58
test eax, eax
jle 0x58a60c
mov byte [ebp - 0x53e], 1
lea eax, [ebp - 0x1870]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1870]
lea edx, [ebp - 0x186c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x186c]
mov eax, 0x599fc8
call fcn.0040588c
test eax, eax
jle 0x58a65d
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a090
call fcn.00402c58
test eax, eax
jle 0x58a65d
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a094
call fcn.00402c58
test eax, eax
jle 0x58a68c
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a09c
call fcn.00402c58
test eax, eax
jle 0x58a68c
mov byte [ebp - 0x53e], 1
lea eax, [ebp - 0x1878]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1878]
lea edx, [ebp - 0x1874]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1874]
mov eax, 0x5992f4
call fcn.0040588c
test eax, eax
jle 0x58a85b
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a0a4
call fcn.00402c58
test eax, eax
jle 0x58a6e1
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a0b0
call fcn.00402c58
test eax, eax
jle 0x58a6fc
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a0bc
call fcn.00402c58
test eax, eax
jle 0x58a717
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a0c8
call fcn.00402c58
test eax, eax
jle 0x58a732
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a0d0
call fcn.00402c58
test eax, eax
jle 0x58a74d
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a0dc
call fcn.00402c58
test eax, eax
jle 0x58a768
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a0e8
call fcn.00402c58
test eax, eax
jle 0x58a783
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a0f4
call fcn.00402c58
test eax, eax
jle 0x58a79e
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a0fc
call fcn.00402c58
test eax, eax
jle 0x58a7b9
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a108
call fcn.00402c58
test eax, eax
jle 0x58a7d4
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a110
call fcn.00402c58
test eax, eax
jle 0x58a7ef
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a118
call fcn.00402c58
test eax, eax
jle 0x58a80a
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a120
call fcn.00402c58
test eax, eax
jle 0x58a825
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a128
call fcn.00402c58
test eax, eax
jle 0x58a840
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a130
call fcn.00402c58
test eax, eax
jle 0x58a85b
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a138
call fcn.00402c58
test eax, eax
jle 0x58a8c0
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a140
call fcn.00402c58
test eax, eax
jle 0x58a88a
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a148
call fcn.00402c58
test eax, eax
jle 0x58a8a5
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a150
call fcn.00402c58
test eax, eax
jle 0x58a8c0
mov byte [ebp - 0x53e], 1
lea eax, [ebp - 0x1880]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1880]
lea edx, [ebp - 0x187c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x187c]
mov eax, 0x59a160
call fcn.0040588c
test eax, eax
jle 0x58a911
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a16c
call fcn.00402c58
test eax, eax
jle 0x58a911
mov byte [ebp - 0x53e], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a174
call fcn.00402c58
test eax, eax
jle 0x58a940
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a178
call fcn.00402c58
test eax, eax
jle 0x58a940
mov byte [ebp - 0x53e], 1
cmp byte [ebp - 0x53e], 0
je 0x58ad43
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a180
call fcn.00402c58
test eax, eax
jle 0x58a969
mov eax, dword [0x7d6a80]
mov byte [eax], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a188
call fcn.00402c58
test eax, eax
jle 0x58a985
mov eax, dword [0x7d6a80]
mov byte [eax], 1
mov eax, 0x59a198
call fcn.004aa544
test al, al
je 0x58a99b
mov eax, dword [0x7d6a80]
mov byte [eax], 1
call fcn.0052faf0
cmp dword [ebp - 0x2ac], 0xc
jne 0x58a9b3
mov dword [ebp - 0x52c], 1
lea eax, [ebp - 0x4ec]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
lea eax, [ebp - 0x4f4]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
lea eax, [ebp - 0x1888]
mov edx, dword [ebp - 0x29c]
add edx, 0x1a
call fcn.004054ec
mov eax, dword [ebp - 0x1888]
lea edx, [ebp - 0x1884]
call fcn.0040a348
mov eax, dword [ebp - 0x1884]
push eax
lea eax, [ebp - 0x1890]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1890]
lea edx, [ebp - 0x188c]
call fcn.0040a348
mov eax, dword [ebp - 0x188c]
push eax
lea eax, [ebp - 0x1898]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1898]
lea edx, [ebp - 0x1894]
call fcn.0040a348
mov eax, dword [ebp - 0x1894]
push eax
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov edx, eax
mov eax, dword [ebp - 0x2ac]
pop ecx
call fcn.00538604
mov dword [ebp - 0x52c], eax
lea edx, [ebp - 0x18a0]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x18a0]
lea eax, [ebp - 0x189c]
mov edx, 0x59a1b4
call fcn.00405594
mov eax, dword [ebp - 0x189c]
call fcn.004c6770
xor eax, eax
push ebp
push 0x58ab14
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0x52c], 0
jne 0x58ab0a
call fcn.005306ec
test al, al
jne 0x58ab0a
mov byte [ebp - 0x4b6], 1
mov al, byte [ebp - 0x4b6]
call fcn.004a11e8
mov edx, eax
lea eax, [ebp - 0x18a8]
call fcn.00405460
mov ecx, dword [ebp - 0x18a8]
lea eax, [ebp - 0x18a4]
mov edx, 0x599c48
call fcn.00405594
mov eax, dword [ebp - 0x18a4]
call fcn.004c6770
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x58ab1e
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58ab60
lea edx, [ebp - 0x18b0]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x18b0]
lea eax, [ebp - 0x18ac]
mov edx, 0x59a1b4
call fcn.00405594
mov eax, dword [ebp - 0x18ac]
xor edx, edx
call fcn.005540d4
cmp dword [ebp - 0x52c], 0
jle 0x58ad1f
cmp dword [ebp - 0x52c], 1
jne 0x58ad13
lea eax, [ebp - 0x18b4]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov edx, dword [ebp - 0x18b4]
mov eax, dword [ebp - 0x4ec]
call fcn.00405694
jne 0x58ad13
lea eax, [ebp - 0x18b8]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov edx, dword [ebp - 0x18b8]
mov eax, dword [ebp - 0x4f4]
call fcn.00405694
jne 0x58ad13
mov eax, dword [ebp - 0x4ec]
call fcn.00405548
cmp eax, 0xa
jle 0x58ad13
mov eax, dword [ebp - 0x4f4]
call fcn.00405548
cmp eax, 5
jle 0x58ad13
lea edx, [ebp - 0x18bc]
mov eax, dword [ebp - 0x2ac]
call fcn.00511ca4
mov edx, dword [ebp - 0x18bc]
mov eax, 0x599c74
call fcn.0040588c
test eax, eax
jle 0x58ad13
imul eax, dword [ebp - 0x2ac], 0x83
lea edx, [eax + 0xc61f54]
mov eax, 0x59a1c4
call fcn.00402c58
test eax, eax
jle 0x58ad13
lea eax, [ebp - 0x4b4]
xor ecx, ecx
mov edx, 0x200
call fcn.00403450
lea edx, [ebp - 0x4b4]
mov ecx, 0x1ff
mov eax, dword [ebp - 0x2a8]
call fcn.00514430
mov dword [ebp - 0x534], eax
cmp dword [ebp - 0x534], 0
jne 0x58ad13
cmp byte [ebp - 0x4b1], 5
jb 0x58ad13
mov eax, dword [ebp - 0x2ac]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax + 0x11f2414], 0
mov eax, dword [ebp - 0x2ac]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax + 0x11f2418], 0
lea eax, [ebp - 0x4e4]
imul edx, dword [ebp - 0x2ac], 0x65
add edx, 0x11eb524
call fcn.004054ec
push 0
lea eax, [ebp - 0x4e4]
mov ecx, 0x59a1d4
mov edx, 0x59a1e4
call fcn.0049e218
lea eax, [ebp - 0xb6c]
mov edx, dword [ebp - 0x4e4]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
imul eax, dword [ebp - 0x2ac], 0x65
add eax, 0x11eb524
mov cl, 0x64
call fcn.004032bc
jmp 0x5959a7
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58ad39
xor edx, edx
mov eax, 0x59a1f4
call fcn.005540d4
mov eax, 0x59a1f4
call fcn.004c6770
mov al, byte [ebp - 0x53c]
mov byte [ebp - 0x4b5], al
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a214
call fcn.00402c58
test eax, eax
jg 0x58ad7b
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a218
call fcn.00402c58
test eax, eax
jle 0x58ae23
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a220
call fcn.00402c58
test eax, eax
jle 0x58ae23
mov eax, 0x59a230
call fcn.004c6770
call fcn.005416e4
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov edx, eax
mov ecx, dword [0x7ce574]
mov eax, dword [ebp - 0x2ac]
call fcn.00546a74
mov dword [ebp - 0x52c], eax
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58ae08
lea edx, [ebp - 0x18c4]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x18c4]
lea eax, [ebp - 0x18c0]
mov edx, 0x59a240
call fcn.00405594
mov eax, dword [ebp - 0x18c0]
xor edx, edx
call fcn.005540d4
cmp dword [ebp - 0x52c], 0
jle 0x58ae23
inc dword [0x7ce574]
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a24c
call fcn.00402c58
test eax, eax
jle 0x58aeb1
call fcn.00532064
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov edx, eax
mov eax, dword [ebp - 0x2ac]
call fcn.00540c98
mov dword [ebp - 0x52c], eax
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58ae9c
lea edx, [ebp - 0x18cc]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x18cc]
lea eax, [ebp - 0x18c8]
mov edx, 0x59a260
call fcn.00405594
mov eax, dword [ebp - 0x18c8]
xor edx, edx
call fcn.005540d4
cmp dword [ebp - 0x52c], 0
jle 0x58aeb1
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
mov eax, 0x59a27c
call fcn.0049d570
test al, al
je 0x58aed9
cmp dword [ebp - 0x2ac], 0xf
jg 0x58aed9
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x59a288
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a294
call fcn.00402c58
test eax, eax
jle 0x58aff8
call fcn.00550a20
lea eax, [ebp - 0x4fc]
push eax
lea eax, [ebp - 0x500]
push eax
lea ecx, [ebp - 0x4f8]
mov edx, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x2a8]
call fcn.0058236c
mov dword [ebp - 0x52c], eax
mov eax, 0x59a27c
call fcn.0049d570
test al, al
je 0x58af58
cmp dword [ebp - 0x2ac], 0xf
jg 0x58af58
lea eax, [ebp - 0x4fc]
mov edx, 0x59a2a4
call fcn.00405310
lea eax, [ebp - 0x4fc]
mov edx, 0x59a2d8
call fcn.00405310
cmp dword [ebp - 0x52c], 0
jne 0x58aff8
mov eax, dword [ebp - 0x4fc]
push eax
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
push eax
lea eax, [ebp - 0x18d0]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov ecx, dword [ebp - 0x18d0]
mov eax, dword [ebp - 0x2ac]
pop edx
call fcn.00552c84
mov dword [ebp - 0x52c], eax
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58afe3
lea edx, [ebp - 0x18d8]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x18d8]
lea eax, [ebp - 0x18d4]
mov edx, 0x59a30c
call fcn.00405594
mov eax, dword [ebp - 0x18d4]
xor edx, edx
call fcn.005540d4
cmp dword [ebp - 0x52c], 0
jle 0x58aff8
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a31c
call fcn.00402c58
test eax, eax
jle 0x58b020
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a324
call fcn.00402c58
test eax, eax
jg 0x58b050
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a328
call fcn.00402c58
test eax, eax
jle 0x58b127
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a324
call fcn.00402c58
test eax, eax
jle 0x58b127
call fcn.00530730
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
push eax
lea eax, [ebp - 0x18dc]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov ecx, dword [ebp - 0x18dc]
mov eax, dword [ebp - 0x2ac]
pop edx
call fcn.00539c38
mov dword [ebp - 0x52c], eax
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58b0cf
lea edx, [ebp - 0x18e4]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x18e4]
lea eax, [ebp - 0x18e0]
mov edx, 0x59a338
call fcn.00405594
mov eax, dword [ebp - 0x18e0]
xor edx, edx
call fcn.005540d4
cmp dword [ebp - 0x52c], 0
jle 0x58b0e4
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58b0fe
xor edx, edx
mov eax, 0x59a350
call fcn.005540d4
imul eax, dword [ebp - 0x2ac], 0xac1
lea edi, [eax*8 + 0xc74974]
mov esi, 0x59a364
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
lea eax, [ebp - 0x18ec]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x18ec]
lea edx, [ebp - 0x18e8]
call fcn.0040a0f8
mov edx, dword [ebp - 0x18e8]
mov eax, 0x59a380
call fcn.0040588c
test eax, eax
jle 0x58b1d1
lea eax, [ebp - 0x18f4]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x18f4]
lea edx, [ebp - 0x18f0]
call fcn.0040a0f8
mov edx, dword [ebp - 0x18f0]
mov eax, 0x59a394
call fcn.0040588c
test eax, eax
jg 0x58b33b
lea eax, [ebp - 0x18fc]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x18fc]
lea edx, [ebp - 0x18f8]
call fcn.0040a0f8
mov edx, dword [ebp - 0x18f8]
mov eax, 0x59a1e4
call fcn.0040588c
test eax, eax
jg 0x58b33b
lea eax, [ebp - 0x1904]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1904]
lea edx, [ebp - 0x1900]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1900]
mov eax, 0x59a3a4
call fcn.0040588c
test eax, eax
jle 0x58b241
lea eax, [ebp - 0x190c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x190c]
lea edx, [ebp - 0x1908]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1908]
mov eax, 0x599d94
call fcn.0040588c
test eax, eax
jg 0x58b33b
lea eax, [ebp - 0x1914]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1914]
lea edx, [ebp - 0x1910]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1910]
mov eax, 0x59a3b0
call fcn.0040588c
test eax, eax
jle 0x58b2b4
lea eax, [ebp - 0x191c]
mov edx, dword [ebp - 0x29c]
add edx, 0x1a
call fcn.004054ec
mov eax, dword [ebp - 0x191c]
lea edx, [ebp - 0x1918]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1918]
mov eax, 0x59a3c0
call fcn.0040588c
test eax, eax
jg 0x58b33b
lea eax, [ebp - 0x1924]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1924]
lea edx, [ebp - 0x1920]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1920]
mov eax, 0x599d24
call fcn.0040588c
test eax, eax
jg 0x58b33b
lea eax, [ebp - 0x192c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x192c]
lea edx, [ebp - 0x1928]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1928]
mov eax, 0x59a3cc
call fcn.0040588c
test eax, eax
jg 0x58b33b
call fcn.0053f828
test al, al
jne 0x58b33b
mov eax, 0x59a3dc
call fcn.0049d570
test al, al
je 0x58b40b
mov eax, 0x59a3f4
call fcn.004c6770
call fcn.00531c78
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov edx, eax
mov eax, dword [ebp - 0x2ac]
call fcn.0053b404
mov dword [ebp - 0x52c], eax
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58b3aa
lea edx, [ebp - 0x1934]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x1934]
lea eax, [ebp - 0x1930]
mov edx, 0x59a404
call fcn.00405594
mov eax, dword [ebp - 0x1930]
xor edx, edx
call fcn.005540d4
cmp dword [ebp - 0x52c], 0
jle 0x58b3bf
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
call fcn.00530a6c
test al, al
je 0x58b40b
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58b3e2
xor edx, edx
mov eax, 0x59a420
call fcn.005540d4
imul eax, dword [ebp - 0x2ac], 0xac1
lea edi, [eax*8 + 0xc74974]
mov esi, 0x59a364
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
mov byte [ebp - 0x53b], 0
mov byte [ebp - 0x53a], 0
lea eax, [ebp - 0x193c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x193c]
lea edx, [ebp - 0x1938]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1938]
mov eax, 0x59a440
call fcn.0040588c
test eax, eax
jle 0x58b50a
lea eax, [ebp - 0x1944]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1944]
lea edx, [ebp - 0x1940]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1940]
mov eax, 0x59a454
call fcn.0040588c
test eax, eax
jle 0x58b490
mov byte [ebp - 0x53b], 1
lea eax, [ebp - 0x194c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x194c]
lea edx, [ebp - 0x1948]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1948]
mov eax, 0x59a464
call fcn.0040588c
test eax, eax
jle 0x58b4cd
mov byte [ebp - 0x53b], 1
lea eax, [ebp - 0x1954]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1954]
lea edx, [ebp - 0x1950]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1950]
mov eax, 0x59a1e4
call fcn.0040588c
test eax, eax
jle 0x58b50a
mov byte [ebp - 0x53b], 1
cmp byte [ebp - 0x53b], 0
jne 0x58b54a
mov eax, 0x59a474
call fcn.004aa544
test al, al
je 0x58b528
mov byte [ebp - 0x53a], 1
cmp byte [ebp - 0x248], 0x37
jne 0x58b54a
cmp byte [ebp - 0x249], 0x12
jne 0x58b54a
cmp byte [ebp - 0x24a], 5
jne 0x58b54a
mov byte [ebp - 0x53a], 1
lea eax, [ebp - 0x195c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x195c]
lea edx, [ebp - 0x1958]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1958]
mov eax, 0x59a488
call fcn.0040588c
test eax, eax
jle 0x58b587
mov byte [ebp - 0x53b], 1
cmp byte [ebp - 0x53a], 0
jne 0x58b67d
lea eax, [ebp - 0x1964]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1964]
lea edx, [ebp - 0x1960]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1960]
mov eax, 0x59a49c
call fcn.0040588c
test eax, eax
jg 0x58b604
lea eax, [ebp - 0x196c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x196c]
lea edx, [ebp - 0x1968]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1968]
mov eax, 0x59a440
call fcn.0040588c
test eax, eax
jle 0x58ba76
lea eax, [ebp - 0x1974]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1974]
lea edx, [ebp - 0x1970]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1970]
mov eax, 0x59a4ac
call fcn.0040588c
test eax, eax
jg 0x58b67d
lea eax, [ebp - 0x197c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x197c]
lea edx, [ebp - 0x1978]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1978]
mov eax, 0x59a4b8
call fcn.0040588c
test eax, eax
jg 0x58b67d
cmp byte [ebp - 0x53b], 0
je 0x58ba76
mov eax, 0x59a4c4
call fcn.004c6770
call fcn.005329bc
call fcn.00533a40
lea eax, [ebp - 0x1984]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1984]
lea edx, [ebp - 0x1980]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1980]
mov eax, 0x59a4d4
call fcn.0040588c
test eax, eax
jg 0x58d635
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov edx, eax
mov ecx, 0x7ce568
mov eax, dword [ebp - 0x2ac]
call fcn.0053b9e0
mov dword [ebp - 0x52c], eax
cmp dword [ebp - 0x52c], 0
jle 0x58b6ff
inc dword [0x7ce568]
jmp 0x58b74c
lea eax, [ebp - 0x1988]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1988]
push eax
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov edx, eax
mov ecx, 0x7ce56c
mov eax, dword [ebp - 0x2ac]
call fcn.0053c1fc
mov dword [ebp - 0x52c], eax
cmp dword [ebp - 0x52c], 0
jle 0x58b74c
inc dword [0x7ce56c]
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58b78e
lea edx, [ebp - 0x1990]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x1990]
lea eax, [ebp - 0x198c]
mov edx, 0x59a4e8
call fcn.00405594
mov eax, dword [ebp - 0x198c]
xor edx, edx
call fcn.005540d4
cmp dword [ebp - 0x52c], 0
jle 0x58ba2a
mov byte [ebp - 0x4c1], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59a4fc
call fcn.00402c58
test eax, eax
jle 0x598af7
mov byte [ebp - 0x508], 0
mov eax, dword [ebp - 0x2ac]
mov edx, dword [ebp - 0x2ac]
add edx, dword [ebp - 0x52c]
dec edx
sub edx, eax
jl 0x58b8f2
inc edx
mov dword [ebp - 0x5b0], edx
mov dword [ebp - 0x530], eax
push 0
imul eax, dword [ebp - 0x530], 0x651
lea edx, [eax*2 + 0x114d694]
mov cl, 1
mov eax, dword [ebp - 0x530]
call fcn.005b1570
test eax, eax
jle 0x58b882
mov eax, dword [ebp - 0x530]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax + 0x11f2414], 0
mov eax, dword [ebp - 0x530]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax + 0x11f2418], 0
imul eax, dword [ebp - 0x530], 0x65
lea edi, [eax + 0x11eb524]
mov esi, 0x59a500
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
imul eax, dword [ebp - 0x530], 0xac1
mov dword [eax*8 + 0xc74ae8], 0xa
mov eax, dword [ebp - 0x530]
mov dword [eax*4 + 0x11f040c], 0xa
mov eax, 0x59985c
call fcn.004c6770
mov byte [ebp - 0x508], 1
jmp 0x58b8e0
lea eax, [ebp - 0x4e4]
imul edx, dword [ebp - 0x530], 0x65
add edx, 0x11eb524
call fcn.004054ec
push 0
lea eax, [ebp - 0x4e4]
mov ecx, 0x59a510
mov edx, 0x59a51c
call fcn.0049e218
lea eax, [ebp - 0xb6c]
mov edx, dword [ebp - 0x4e4]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
imul eax, dword [ebp - 0x530], 0x65
add eax, 0x11eb524
mov cl, 0x64
call fcn.004032bc
inc dword [ebp - 0x530]
dec dword [ebp - 0x5b0]
jne 0x58b7e9
cmp byte [ebp - 0x508], 0
jne 0x598af7
push 0x59a52c
lea edx, [ebp - 0x1998]
mov eax, dword [ebp - 0x2ac]
call fcn.0040a83c
push dword [ebp - 0x1998]
push 0x5990e8
lea edx, [ebp - 0x199c]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
push dword [ebp - 0x199c]
lea eax, [ebp - 0x1994]
mov edx, 4
call fcn.00405608
mov eax, dword [ebp - 0x1994]
call fcn.004c6770
lea edx, [ebp - 0x4e4]
mov eax, dword [ebp - 0x2ac]
call fcn.005b0574
lea eax, [ebp - 0x19a0]
mov ecx, dword [ebp - 0x4e4]
mov edx, 0x59a540
call fcn.00405594
mov eax, dword [ebp - 0x19a0]
call fcn.004c6770
cmp dword [ebp - 0x4e4], 0
je 0x598af7
push 1
imul eax, dword [ebp - 0x2ac], 0x651
lea edx, [eax*2 + 0x114d694]
mov cl, 1
mov eax, dword [ebp - 0x2ac]
call fcn.005b1570
test eax, eax
jle 0x598af7
mov eax, dword [ebp - 0x2ac]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax + 0x11f2414], 0
mov eax, dword [ebp - 0x2ac]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax + 0x11f2418], 0
imul eax, dword [ebp - 0x2ac], 0x65
lea edi, [eax + 0x11eb524]
mov esi, 0x59a500
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
imul eax, dword [ebp - 0x2ac], 0xac1
mov dword [eax*8 + 0xc74ae8], 0xa
mov eax, dword [ebp - 0x2ac]
mov dword [eax*4 + 0x11f040c], 0xa
mov eax, 0x59a554
call fcn.004c6770
jmp 0x598af7
call fcn.00532914
test al, al
je 0x58ba76
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58ba4d
xor edx, edx
mov eax, 0x59a56c
call fcn.005540d4
imul eax, dword [ebp - 0x2ac], 0xac1
lea edi, [eax*8 + 0xc74974]
mov esi, 0x59a364
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
mov eax, 0x599464
call fcn.0049d570
test al, al
je 0x58baa0
cmp dword [ebp - 0x2ac], 0x14
jg 0x58baa0
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x59a584
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x19a8]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x19a8]
lea edx, [ebp - 0x19a4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x19a4]
mov eax, 0x59a59c
call fcn.0040588c
test eax, eax
jle 0x58bb6f
lea eax, [ebp - 0x19b0]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x19b0]
lea edx, [ebp - 0x19ac]
call fcn.0040a0f8
mov edx, dword [ebp - 0x19ac]
mov eax, 0x59a5ac
call fcn.0040588c
test eax, eax
jle 0x58bb6f
mov edx, dword [ebp - 0x29c]
add edx, 0x1a
mov eax, 0x59a5b4
call fcn.00402c58
test eax, eax
jle 0x58bb6f
lea eax, [ebp - 0x19b8]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x19b8]
lea edx, [ebp - 0x19b4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x19b4]
mov eax, 0x59a5c4
call fcn.0040588c
test eax, eax
jle 0x58bb6f
mov dword [ebp - 0x2b4], 2
jmp 0x591f44
mov byte [ebp - 0x509], 0
lea eax, [ebp - 0x19c4]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x19c4]
lea edx, [ebp - 0x19c0]
call fcn.0040a0f8
mov eax, dword [ebp - 0x19c0]
lea edx, [ebp - 0x19bc]
call fcn.0040a348
mov eax, dword [ebp - 0x19bc]
mov edx, 0x59a5d4
call fcn.00405694
jne 0x58bbc5
mov byte [ebp - 0x509], 1
lea eax, [ebp - 0x19d0]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x19d0]
lea edx, [ebp - 0x19cc]
call fcn.0040a0f8
mov eax, dword [ebp - 0x19cc]
lea edx, [ebp - 0x19c8]
call fcn.0040a348
mov eax, dword [ebp - 0x19c8]
mov edx, 0x59a5e4
call fcn.00405694
jne 0x58bc14
mov byte [ebp - 0x509], 1
lea eax, [ebp - 0x19d4]
push eax
lea eax, [ebp - 0x19e0]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x19e0]
lea edx, [ebp - 0x19dc]
call fcn.0040a0f8
mov eax, dword [ebp - 0x19dc]
lea edx, [ebp - 0x19d8]
call fcn.0040a348
mov eax, dword [ebp - 0x19d8]
mov ecx, 3
mov edx, 1
call fcn.004057a8
mov eax, dword [ebp - 0x19d4]
mov edx, 0x59a5f4
call fcn.00405694
jne 0x58bd29
lea eax, [ebp - 0x19e4]
push eax
lea eax, [ebp - 0x19ec]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x19ec]
lea edx, [ebp - 0x19e8]
call fcn.0040a348
mov eax, dword [ebp - 0x19e8]
mov ecx, 1
mov edx, 4
call fcn.004057a8
mov eax, dword [ebp - 0x19e4]
mov edx, 0x59a600
call fcn.00405694
jb 0x58bd29
lea eax, [ebp - 0x19f0]
push eax
lea eax, [ebp - 0x19f8]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x19f8]
lea edx, [ebp - 0x19f4]
call fcn.0040a348
mov eax, dword [ebp - 0x19f4]
mov ecx, 1
mov edx, 4
call fcn.004057a8
mov eax, dword [ebp - 0x19f0]
mov edx, 0x59a60c
call fcn.00405694
ja 0x58bd29
mov byte [ebp - 0x509], 1
lea eax, [ebp - 0x1a00]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1a00]
lea edx, [ebp - 0x19fc]
call fcn.0040a0f8
mov edx, dword [ebp - 0x19fc]
mov eax, 0x59a618
call fcn.0040588c
test eax, eax
jle 0x58bd9c
lea eax, [ebp - 0x1a08]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1a08]
lea edx, [ebp - 0x1a04]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1a04]
mov eax, 0x59a628
call fcn.0040588c
test eax, eax
jle 0x58bd9c
mov byte [ebp - 0x509], 1
cmp byte [ebp - 0x509], 0
je 0x58beee
lea edx, [ebp - 0x4e4]
mov eax, dword [ebp - 0x2ac]
call fcn.005826e8
mov edx, dword [ebp - 0x4e4]
mov eax, 0x59a638
call fcn.0040588c
test eax, eax
jle 0x58bde9
mov edx, dword [ebp - 0x4e4]
mov eax, 0x59a648
call fcn.0040588c
test eax, eax
jle 0x58bde9
mov byte [ebp - 0x509], 0
mov edx, dword [ebp - 0x4e4]
mov eax, 0x59a658
call fcn.0040588c
test eax, eax
jle 0x58be18
mov edx, dword [ebp - 0x4e4]
mov eax, 0x59a668
call fcn.0040588c
test eax, eax
jle 0x58be18
mov byte [ebp - 0x509], 0
lea eax, [ebp - 0x1a0c]
push eax
lea eax, [ebp - 0x1a18]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1a18]
lea edx, [ebp - 0x1a14]
call fcn.0040a0f8
mov eax, dword [ebp - 0x1a14]
lea edx, [ebp - 0x1a10]
call fcn.0040a348
mov eax, dword [ebp - 0x1a10]
mov ecx, 4
mov edx, 1
call fcn.004057a8
mov eax, dword [ebp - 0x1a0c]
mov edx, 0x59a678
call fcn.00405694
jne 0x58be83
mov byte [ebp - 0x509], 0
lea eax, [ebp - 0x1a1c]
push eax
lea eax, [ebp - 0x1a28]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1a28]
lea edx, [ebp - 0x1a24]
call fcn.0040a0f8
mov eax, dword [ebp - 0x1a24]
lea edx, [ebp - 0x1a20]
call fcn.0040a348
mov eax, dword [ebp - 0x1a20]
mov ecx, 4
mov edx, 1
call fcn.004057a8
mov eax, dword [ebp - 0x1a1c]
mov edx, 0x59a688
call fcn.00405694
jne 0x58beee
mov byte [ebp - 0x509], 0
lea eax, [ebp - 0x1a30]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1a30]
lea edx, [ebp - 0x1a2c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1a2c]
mov eax, 0x59a698
call fcn.0040588c
test eax, eax
jle 0x58bf97
lea eax, [ebp - 0x1a38]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1a38]
lea edx, [ebp - 0x1a34]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1a34]
mov eax, 0x59a6a8
call fcn.0040588c
test eax, eax
jle 0x58bf97
lea eax, [ebp - 0x1a40]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1a40]
lea edx, [ebp - 0x1a3c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1a3c]
mov eax, 0x59a1e4
call fcn.0040588c
test eax, eax
jle 0x58bf97
mov byte [ebp - 0x509], 1
mov eax, 0x59a6b4
call fcn.0049d570
test al, al
je 0x58bfac
mov byte [ebp - 0x509], 1
mov byte [ebp - 0x50a], 1
lea eax, [ebp - 0x1a48]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1a48]
lea edx, [ebp - 0x1a44]
call fcn.0040a0f8
mov eax, dword [ebp - 0x1a44]
mov edx, 0x59a59c
call fcn.00405694
jne 0x58c008
mov eax, dword [ebp - 0x29c]
add eax, 0x1a
mov edx, 0x59a6c4
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040335c
jne 0x58c008
mov byte [ebp - 0x50a], 0
lea eax, [ebp - 0x1a50]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1a50]
lea edx, [ebp - 0x1a4c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1a4c]
mov eax, 0x59a59c
call fcn.0040588c
test eax, eax
jle 0x58c055
mov edx, dword [ebp - 0x29c]
add edx, 0x1a
mov eax, 0x59a6cc
call fcn.00402c58
test eax, eax
je 0x58c0d4
lea eax, [ebp - 0x1a58]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1a58]
lea edx, [ebp - 0x1a54]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1a54]
mov eax, 0x59a6dc
call fcn.0040588c
test eax, eax
jg 0x58c0d4
lea eax, [ebp - 0x1a60]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1a60]
lea edx, [ebp - 0x1a5c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1a5c]
mov eax, 0x59a6ec
call fcn.0040588c
test eax, eax
jg 0x58c0d4
cmp dword [ebp + 8], 1
je 0x58c0d4
cmp byte [ebp - 0x509], 0
je 0x58c2d1
cmp byte [ebp - 0x50a], 0
je 0x58c2d1
lea eax, [ebp - 0x1a64]
mov edx, dword [ebp - 0x29c]
add edx, 0x1a
call fcn.004054ec
mov edx, dword [ebp - 0x1a64]
mov eax, dword [ebp - 0x2ac]
call fcn.005b206c
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov edx, eax
mov al, byte [ebp - 0x509]
call fcn.0053d3dc
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov edx, eax
mov eax, dword [ebp - 0x2ac]
call fcn.0053dfec
mov dword [ebp - 0x52c], eax
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58c17e
lea edx, [ebp - 0x1a6c]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x1a6c]
lea eax, [ebp - 0x1a68]
mov edx, 0x59a700
call fcn.00405594
mov eax, dword [ebp - 0x1a68]
xor edx, edx
call fcn.005540d4
cmp dword [ebp - 0x52c], 0
jle 0x58c193
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
lea eax, [ebp - 0x1a74]
imul edx, dword [ebp - 0x2ac], 0xac1
lea edx, [edx*8 + 0xc74974]
call fcn.004054ec
mov eax, dword [ebp - 0x1a74]
lea edx, [ebp - 0x1a70]
call fcn.0040a0f8
mov eax, dword [ebp - 0x1a70]
mov edx, 0x59a718
call fcn.00405694
je 0x58c2d1
mov byte [ebp - 0x507], 0
mov eax, dword [ebp - 0x2ac]
dec eax
test eax, eax
jl 0x58c285
inc eax
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x52c], 0
imul eax, dword [ebp - 0x52c], 0x83
lea edx, [eax + 0xc61f54]
mov eax, 0x59a728
call fcn.00402c58
test eax, eax
jle 0x58c273
mov eax, dword [ebp - 0x52c]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax + 0x11f2414], 0
je 0x58c273
mov eax, dword [ebp - 0x52c]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax + 0x11f2418], 0xe
jne 0x58c273
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov edx, dword [ebp - 0x52c]
mov ecx, edx
shl edx, 4
add edx, ecx
movzx edx, byte [edx + 0x11f2415]
cmp eax, edx
jne 0x58c273
mov byte [ebp - 0x507], 1
jmp 0x58c285
inc dword [ebp - 0x52c]
dec dword [ebp - 0x5b0]
jne 0x58c1fd
cmp byte [ebp - 0x507], 0
je 0x58c2d1
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58c2a8
xor edx, edx
mov eax, 0x59a738
call fcn.005540d4
imul eax, dword [ebp - 0x2ac], 0xac1
lea edi, [eax*8 + 0xc74974]
mov esi, 0x59a364
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
lea eax, [ebp - 0xdd4]
push eax
mov eax, dword [ebp - 0x29c]
mov ecx, 6
mov edx, 1
call fcn.004029ac
lea edx, [ebp - 0xdd4]
lea eax, [ebp - 0x1a7c]
call fcn.004054ec
mov eax, dword [ebp - 0x1a7c]
lea edx, [ebp - 0x1a78]
call fcn.0040a0f8
mov eax, dword [ebp - 0x1a78]
mov edx, 0x59a758
call fcn.00405694
jne 0x58c4e2
mov byte [ebp - 0x4b5], 0
mov edx, dword [ebp - 0x4bc]
mov eax, 0x59961c
call fcn.0040588c
test eax, eax
jne 0x58c4e2
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58c428
mov edx, 0x59a760
lea eax, [ebp - 0x1620]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x1620]
mov cl, 0x29
call fcn.00403280
lea edx, [ebp - 0x1620]
lea eax, [ebp - 0x1ab0]
call fcn.004032b0
mov edx, 0x599644
lea eax, [ebp - 0x1ab0]
mov cl, 0x2f
call fcn.00403280
lea edx, [ebp - 0x1ab0]
lea eax, [ebp - 0x1af4]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
lea eax, [ebp - 0x1af4]
mov cl, 0x43
call fcn.00403280
lea edx, [ebp - 0x1af4]
lea eax, [ebp - 0x1284]
call fcn.004032b0
mov edx, 0x59964c
lea eax, [ebp - 0x1284]
mov cl, 0x49
call fcn.00403280
lea edx, [ebp - 0x1284]
lea eax, [ebp - 0x1a80]
call fcn.004054ec
lea eax, [ebp - 0x1a80]
push eax
lea edx, [ebp - 0x1af8]
mov eax, dword [ebp - 0x2ac]
call fcn.0040a83c
mov edx, dword [ebp - 0x1af8]
pop eax
call fcn.00405550
mov eax, dword [ebp - 0x1a80]
xor edx, edx
call fcn.005540d4
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
call fcn.005641ac
test al, al
je 0x58c4e2
push 0
push 0xbb8
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov ecx, eax
lea eax, [ebp - 0x4cc]
mov edx, dword [ebp - 0x2ac]
call fcn.0055da48
mov dword [ebp - 0x52c], eax
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58c4b3
lea edx, [ebp - 0x1b00]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x1b00]
lea eax, [ebp - 0x1afc]
mov edx, 0x59a77c
call fcn.00405594
mov eax, dword [ebp - 0x1afc]
xor edx, edx
call fcn.005540d4
cmp dword [ebp - 0x52c], 0
jle 0x58c4c8
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58c4e2
xor edx, edx
mov eax, 0x59a794
call fcn.005540d4
mov eax, 0x59a7bc
call fcn.0049d570
test al, al
je 0x58c4fd
mov eax, dword [ebp - 0x29c]
mov dword [eax + 0x2f], 0x41544103
cmp byte [ebp - 0x592], 0
je 0x58c56a
mov edx, 0x59a7c8
lea eax, [ebp - 0x1658]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x1658]
mov cl, 0x25
call fcn.00403280
lea edx, [ebp - 0x1658]
lea eax, [ebp - 0x1b04]
call fcn.004054ec
mov eax, dword [ebp - 0x1b04]
call fcn.004c6770
lea eax, [ebp - 0xa5d]
mov edx, dword [ebp - 0x29c]
mov cl, 0x64
call fcn.004032bc
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x59a7d8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x1b0c]
xor edx, edx
mov al, byte [ebp - 0x596]
call fcn.0040ac1c
mov ecx, dword [ebp - 0x1b0c]
lea eax, [ebp - 0x1b08]
mov edx, 0x59a7ec
call fcn.00405594
mov eax, dword [ebp - 0x1b08]
call fcn.004c6770
mov eax, 0x599b9c
call fcn.0049d570
test al, al
je 0x58c5c3
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x59a800
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0xdd4]
push eax
mov eax, dword [ebp - 0x29c]
mov ecx, 5
mov edx, 1
call fcn.004029ac
lea edx, [ebp - 0xdd4]
lea eax, [ebp - 0x1b14]
call fcn.004054ec
mov eax, dword [ebp - 0x1b14]
lea edx, [ebp - 0x1b10]
call fcn.0040a0f8
mov eax, dword [ebp - 0x1b10]
mov edx, 0x5992f4
call fcn.00405694
je 0x58c6d2
lea eax, [ebp - 0x1b1c]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1b1c]
lea edx, [ebp - 0x1b18]
call fcn.0040a348
mov eax, dword [ebp - 0x1b18]
mov edx, 0x59a820
call fcn.00405694
je 0x58c6d2
cmp byte [ebp - 0x596], 0
jne 0x58c6d2
lea eax, [ebp - 0x1b20]
mov edx, dword [ebp - 0x29c]
add edx, 0x1a
call fcn.004054ec
mov eax, dword [ebp - 0x1b20]
push eax
lea eax, [ebp - 0x1b24]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1b24]
push eax
lea eax, [ebp - 0x1b28]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov edx, dword [ebp - 0x1b28]
mov eax, dword [ebp - 0x2ac]
pop ecx
call fcn.0056e468
test al, al
jne 0x58c6d2
cmp dword [ebp + 8], 0xf4240
jl 0x58d635
cmp dword [ebp + 8], 0x1e8480
jge 0x58d635
mov edx, 0x59a824
lea eax, [ebp - 0x1b50]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x1b50]
mov cl, 0x21
call fcn.00403280
lea edx, [ebp - 0x1b50]
lea eax, [ebp - 0x1b78]
call fcn.004032b0
mov edx, 0x59a830
lea eax, [ebp - 0x1b78]
mov cl, 0x26
call fcn.00403280
lea edx, [ebp - 0x1b78]
lea eax, [ebp - 0x1bb4]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
lea eax, [ebp - 0x1bb4]
mov cl, 0x3a
call fcn.00403280
lea edx, [ebp - 0x1bb4]
lea eax, [ebp - 0x1b2c]
call fcn.004054ec
mov eax, dword [ebp - 0x1b2c]
call fcn.004c6770
call fcn.005b1e40
mov al, byte [ebp - 0x4b5]
mov byte [ebp - 0x53c], al
mov byte [ebp - 0x4b5], 0
mov edx, dword [ebp - 0x4bc]
mov eax, 0x59961c
call fcn.0040588c
test eax, eax
jne 0x58d55c
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58c86f
mov edx, 0x59a838
lea eax, [ebp - 0x107c]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x107c]
mov cl, 0x28
call fcn.00403280
lea edx, [ebp - 0x107c]
lea eax, [ebp - 0x11f4]
call fcn.004032b0
mov edx, 0x599644
lea eax, [ebp - 0x11f4]
mov cl, 0x2e
call fcn.00403280
lea edx, [ebp - 0x11f4]
lea eax, [ebp - 0x1238]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
lea eax, [ebp - 0x1238]
mov cl, 0x42
call fcn.00403280
lea edx, [ebp - 0x1238]
lea eax, [ebp - 0x1460]
call fcn.004032b0
mov edx, 0x59964c
lea eax, [ebp - 0x1460]
mov cl, 0x48
call fcn.00403280
lea edx, [ebp - 0x1460]
lea eax, [ebp - 0x1bb8]
call fcn.004054ec
lea eax, [ebp - 0x1bb8]
push eax
lea edx, [ebp - 0x1bbc]
mov eax, dword [ebp - 0x2ac]
call fcn.0040a83c
mov edx, dword [ebp - 0x1bbc]
pop eax
call fcn.00405550
mov eax, dword [ebp - 0x1bb8]
xor edx, edx
call fcn.005540d4
cmp dword [ebp + 8], 0xf4240
jl 0x58c8df
cmp dword [ebp + 8], 0x1e8480
jge 0x58c8df
lea edx, [ebp - 0x1bc4]
mov eax, dword [ebp + 8]
call fcn.0040a83c
mov ecx, dword [ebp - 0x1bc4]
lea eax, [ebp - 0x1bc0]
mov edx, 0x59a850
call fcn.00405594
mov eax, dword [ebp - 0x1bc0]
call fcn.004c6770
mov eax, dword [ebp + 8]
mov ecx, 0xf4240
cdq
idiv ecx
mov byte [ebp - 0x501], dl
mov byte [ebp - 0x502], 0xff
mov byte [ebp - 0x503], 0xff
mov byte [ebp - 0x504], 0xff
mov byte [ebp - 0x53e], 1
jmp 0x58c90a
lea eax, [ebp - 0x503]
push eax
lea eax, [ebp - 0x504]
push eax
lea ecx, [ebp - 0x502]
lea edx, [ebp - 0x501]
mov eax, dword [ebp - 0x2a8]
call fcn.005a9b88
mov byte [ebp - 0x53e], al
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58c94e
lea ecx, [ebp - 0x1bcc]
xor edx, edx
mov al, byte [ebp - 0x53e]
call fcn.0040ac1c
mov ecx, dword [ebp - 0x1bcc]
lea eax, [ebp - 0x1bc8]
mov edx, 0x59a864
call fcn.00405594
mov eax, dword [ebp - 0x1bc8]
xor edx, edx
call fcn.005540d4
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58c9f5
push 0x59a880
lea edx, [ebp - 0x1bd4]
xor eax, eax
mov al, byte [ebp - 0x501]
call fcn.0040a83c
push dword [ebp - 0x1bd4]
push 0x599690
lea edx, [ebp - 0x1bd8]
xor eax, eax
mov al, byte [ebp - 0x502]
call fcn.0040a83c
push dword [ebp - 0x1bd8]
push 0x5996a4
lea edx, [ebp - 0x1bdc]
xor eax, eax
mov al, byte [ebp - 0x503]
call fcn.0040a83c
push dword [ebp - 0x1bdc]
push 0x5996b8
lea edx, [ebp - 0x1be0]
xor eax, eax
mov al, byte [ebp - 0x504]
call fcn.0040a83c
push dword [ebp - 0x1be0]
lea eax, [ebp - 0x1bd0]
mov edx, 8
call fcn.00405608
mov eax, dword [ebp - 0x1bd0]
xor edx, edx
call fcn.005540d4
lea ecx, [ebp - 0x1be8]
xor edx, edx
mov al, byte [ebp - 0x53e]
call fcn.0040ac1c
mov ecx, dword [ebp - 0x1be8]
lea eax, [ebp - 0x1be4]
mov edx, 0x59a864
call fcn.00405594
mov eax, dword [ebp - 0x1be4]
call fcn.004c6770
push 0x59a880
lea edx, [ebp - 0x1bf0]
xor eax, eax
mov al, byte [ebp - 0x501]
call fcn.0040a83c
push dword [ebp - 0x1bf0]
push 0x599690
lea edx, [ebp - 0x1bf4]
xor eax, eax
mov al, byte [ebp - 0x502]
call fcn.0040a83c
push dword [ebp - 0x1bf4]
push 0x5996a4
lea edx, [ebp - 0x1bf8]
xor eax, eax
mov al, byte [ebp - 0x503]
call fcn.0040a83c
push dword [ebp - 0x1bf8]
push 0x5996b8
lea edx, [ebp - 0x1bfc]
xor eax, eax
mov al, byte [ebp - 0x504]
call fcn.0040a83c
push dword [ebp - 0x1bfc]
lea eax, [ebp - 0x1bec]
mov edx, 8
call fcn.00405608
mov eax, dword [ebp - 0x1bec]
call fcn.004c6770
cmp byte [ebp - 0x53e], 0
je 0x58d55c
cmp byte [ebp - 0x502], 6
je 0x58cd37
mov eax, 0x59a8a0
call fcn.004c6770
lea eax, [ebp - 0x1c00]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1c00]
push eax
lea eax, [ebp - 0x1c04]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov ecx, dword [ebp - 0x1c04]
xor edx, edx
mov dl, byte [ebp - 0x502]
xor eax, eax
mov al, byte [ebp - 0x501]
call fcn.005669a4
or al, byte [ebp - 0x596]
je 0x58cd37
lea edx, [ebp - 0x1c0c]
xor eax, eax
mov al, byte [ebp - 0x501]
call fcn.0056fde8
mov eax, dword [ebp - 0x1c0c]
lea edx, [ebp - 0x1c08]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1c08]
mov eax, 0x5992f4
call fcn.0040588c
test eax, eax
jle 0x58cd37
mov eax, 0x59a8b8
call fcn.004c6770
mov byte [ebp - 0x5a9], 0
lea edx, [ebp - 0x4e4]
xor eax, eax
mov al, byte [ebp - 0x501]
call fcn.0056fde8
mov edx, dword [ebp - 0x4e4]
mov eax, 0x59a8e4
call fcn.0040588c
mov dword [ebp - 0x530], eax
cmp dword [ebp - 0x530], 0
jle 0x58cc69
mov ecx, dword [ebp - 0x530]
add ecx, 4
lea eax, [ebp - 0x4e4]
mov edx, 1
call fcn.004057e8
lea edx, [ebp - 0x1c10]
mov eax, dword [ebp - 0x4e4]
call fcn.0040a348
mov edx, dword [ebp - 0x1c10]
lea eax, [ebp - 0x4e4]
call fcn.00405310
mov edx, dword [ebp - 0x4e4]
mov eax, 0x5990e8
call fcn.0040588c
mov dword [ebp - 0x530], eax
cmp dword [ebp - 0x530], 0
jle 0x58cc2e
mov eax, dword [ebp - 0x4e4]
call fcn.00405548
mov ecx, eax
lea eax, [ebp - 0x4e4]
mov edx, dword [ebp - 0x530]
call fcn.004057e8
lea edx, [ebp - 0x1c14]
mov eax, dword [ebp - 0x4e4]
call fcn.0040a348
mov edx, dword [ebp - 0x1c14]
lea eax, [ebp - 0x4e4]
call fcn.00405310
mov eax, dword [ebp - 0x4e4]
mov edx, 0x59a8f4
call fcn.00405694
jbe 0x58cc69
mov byte [ebp - 0x5a9], 1
lea eax, [ebp - 0x1c1c]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1c1c]
lea edx, [ebp - 0x1c18]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1c18]
mov eax, 0x5992f4
call fcn.0040588c
test eax, eax
jle 0x58ccdc
lea eax, [ebp - 0x1c24]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1c24]
lea edx, [ebp - 0x1c20]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1c20]
mov eax, 0x59a1e4
call fcn.0040588c
test eax, eax
jle 0x58ccdc
mov byte [ebp - 0x5a9], 0
cmp byte [ebp - 0x5a9], 0
je 0x58cd37
mov al, byte [ebp - 0x53c]
mov byte [ebp - 0x4b5], al
mov al, byte [ebp - 0x4b5]
call fcn.004a11e8
mov edx, eax
lea eax, [ebp - 0x1c2c]
call fcn.00405460
mov ecx, dword [ebp - 0x1c2c]
lea eax, [ebp - 0x1c28]
mov edx, 0x59a900
call fcn.00405594
mov eax, dword [ebp - 0x1c28]
call fcn.004c6770
mov eax, dword [0x7d6894]
mov byte [eax], 1
jmp 0x58d635
lea edx, [ebp - 0x1c30]
mov eax, dword [0x7ce560]
call fcn.0056fde8
mov edx, dword [ebp - 0x1c30]
mov eax, 0x59a924
call fcn.0040588c
test eax, eax
jle 0x58cdc8
xor eax, eax
mov al, byte [ebp - 0x501]
cmp eax, dword [0x7ce560]
je 0x58cdf4
lea eax, [ebp - 0x1c34]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1c34]
push eax
lea eax, [ebp - 0x1c38]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov ecx, dword [ebp - 0x1c38]
xor edx, edx
mov dl, byte [ebp - 0x502]
xor eax, eax
mov al, byte [ebp - 0x501]
call fcn.005669a4
xor al, 1
or al, byte [ebp - 0x596]
je 0x58cdf4
inc dword [0x7ce564]
jmp 0x58cdf4
xor eax, eax
mov al, byte [ebp - 0x501]
cmp eax, dword [0x7ce560]
je 0x58cdee
xor eax, eax
mov al, byte [ebp - 0x501]
mov dword [0x7ce560], eax
xor eax, eax
mov dword [0x7ce564], eax
jmp 0x58cdf4
inc dword [0x7ce564]
mov eax, 0x59a934
call fcn.0049d570
test al, al
je 0x58ce10
mov byte [ebp - 0x501], 1
mov byte [ebp - 0x502], 0
xor eax, eax
mov dword [ebp - 0x530], eax
mov eax, 0x59a934
call fcn.0049d570
test al, al
je 0x58ce36
cmp byte [ebp - 0x501], 0xd
jne 0x58ce36
mov byte [ebp - 0x502], 6
lea eax, [ebp - 0x1c3c]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1c3c]
push eax
lea eax, [ebp - 0x1c40]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov ecx, dword [ebp - 0x1c40]
xor edx, edx
mov dl, byte [ebp - 0x502]
xor eax, eax
mov al, byte [ebp - 0x501]
call fcn.005669a4
or al, byte [ebp - 0x596]
je 0x58d4c3
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58cea3
mov eax, 0x59aa90
call fcn.004c6770
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58d4e7
cmp byte [ebp - 0x4b5], 0
jne 0x58d635
mov eax, 0x59aaec
call fcn.004c6770
mov edx, dword [ebp - 0x29c]
mov eax, 0x59aaf8
call fcn.00402c58
test eax, eax
jle 0x58d58e
mov byte [ebp - 0x4b5], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59ab04
call fcn.00402c58
test eax, eax
jle 0x58d5bd
mov edx, dword [ebp - 0x29c]
mov eax, 0x59ab08
call fcn.00402c58
test eax, eax
jle 0x58d5bd
mov byte [ebp - 0x4b5], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59ab10
call fcn.00402c58
test eax, eax
jle 0x58d5d8
mov byte [ebp - 0x4b5], 1
mov edx, dword [ebp - 0x29c]
mov eax, 0x59ab18
call fcn.00402c58
test eax, eax
jle 0x58d5f3
mov byte [ebp - 0x4b5], 1
mov eax, dword [ebp - 0x29c]
add eax, 0x1a
mov edx, 0x59ab20
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040335c
jne 0x58d614
mov byte [ebp - 0x4b5], 1
mov eax, dword [ebp - 0x29c]
add eax, 0x1a
mov edx, 0x59ab28
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040335c
jne 0x58d635
mov byte [ebp - 0x4b5], 1
lea eax, [ebp - 0x1d5c]
push eax
mov eax, dword [ebp - 0x29c]
add eax, 0x1a
mov ecx, 4
mov edx, 1
call fcn.004029ac
lea edx, [ebp - 0x1d5c]
lea eax, [ebp - 0x1d44]
call fcn.004054ec
mov eax, dword [ebp - 0x1d44]
lea edx, [ebp - 0x1d40]
call fcn.0040a0f8
mov eax, dword [ebp - 0x1d40]
mov edx, 0x59ab38
call fcn.00405694
je 0x58d6df
lea eax, [ebp - 0x1d5c]
push eax
mov eax, dword [ebp - 0x29c]
add eax, 0x1a
mov ecx, 4
mov edx, 1
call fcn.004029ac
lea edx, [ebp - 0x1d5c]
lea eax, [ebp - 0x1d64]
call fcn.004054ec
mov eax, dword [ebp - 0x1d64]
lea edx, [ebp - 0x1d60]
call fcn.0040a0f8
mov eax, dword [ebp - 0x1d60]
mov edx, 0x59ab48
call fcn.00405694
jne 0x58d8f7
mov edx, dword [ebp - 0x4bc]
mov eax, 0x59961c
call fcn.0040588c
test eax, eax
jne 0x58d8f7
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58d7db
mov edx, 0x59ab50
lea eax, [ebp - 0x1658]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x1658]
mov cl, 0x25
call fcn.00403280
lea edx, [ebp - 0x1658]
lea eax, [ebp - 0xc4c]
call fcn.004032b0
mov edx, 0x599644
lea eax, [ebp - 0xc4c]
mov cl, 0x2b
call fcn.00403280
lea edx, [ebp - 0xc4c]
lea eax, [ebp - 0x1da8]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
lea eax, [ebp - 0x1da8]
mov cl, 0x3f
call fcn.00403280
lea edx, [ebp - 0x1da8]
lea eax, [ebp - 0x1df0]
call fcn.004032b0
mov edx, 0x59964c
lea eax, [ebp - 0x1df0]
mov cl, 0x45
call fcn.00403280
lea edx, [ebp - 0x1df0]
lea eax, [ebp - 0x1d68]
call fcn.004054ec
lea eax, [ebp - 0x1d68]
push eax
lea edx, [ebp - 0x1df4]
mov eax, dword [ebp - 0x2ac]
call fcn.0040a83c
mov edx, dword [ebp - 0x1df4]
pop eax
call fcn.00405550
mov eax, dword [ebp - 0x1d68]
xor edx, edx
call fcn.005540d4
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov edx, dword [ebp - 0x2a8]
call fcn.00569b30
test al, al
jne 0x58d82f
lea eax, [ebp - 0x1dfc]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1dfc]
lea edx, [ebp - 0x1df8]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1df8]
mov eax, 0x59ab68
call fcn.0040588c
test eax, eax
jle 0x58d8f7
mov byte [ebp - 0x4b5], 0
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58d850
xor edx, edx
mov eax, 0x59ab78
call fcn.005540d4
mov eax, dword [ebp - 0x2a8]
push eax
push 0xfa0
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [ebp - 0x2ac]
call fcn.005a8144
mov ecx, eax
lea eax, [ebp - 0x4cc]
mov edx, dword [ebp - 0x2ac]
call fcn.0055da48
mov dword [ebp - 0x52c], eax
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58d8c8
lea edx, [ebp - 0x1e04]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x1e04]
lea eax, [ebp - 0x1e00]
mov edx, 0x59ab90
call fcn.00405594
mov eax, dword [ebp - 0x1e00]
xor edx, edx
call fcn.005540d4
cmp dword [ebp - 0x52c], 0
jle 0x58d8dd
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
mov eax, 0x59962c
call fcn.0049d570
test al, al
je 0x58d8f7
xor edx, edx
mov eax, 0x59aba4
call fcn.005540d4
mov eax, dword [ebp - 0x2ac]
call fcn.005ab0b4
test al, al
je 0x58d9e8
lea eax, [ebp - 0x503]
push eax
lea eax, [ebp - 0x504]
push eax
lea ecx, [ebp - 0x502]
lea edx, [ebp - 0x501]
mov eax, dword [ebp - 0x2a8]
call fcn.005a9b88
mov byte [ebp - 0x53e], al
cmp byte [ebp - 0x53e], 0
je 0x58d9e8
mov eax, dword [ebp - 0x2ac]
dec eax
test eax, eax
jl 0x58d9e8
inc eax
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x52c], 0
mov eax, dword [ebp - 0x52c]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax + 0x11f2414], 0
je 0x58d9d6
mov eax, dword [ebp - 0x52c]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax + 0x11f2418], 6
jne 0x58d9d6
mov eax, dword [ebp - 0x52c]
mov edx, eax
shl eax, 4
add eax, edx
mov eax, dword [eax + 0x11f2419]
xor edx, edx
mov dl, byte [ebp - 0x501]
cmp eax, edx
jne 0x58d9d6
imul eax, dword [ebp - 0x2ac], 0xac1
lea edi, [eax*8 + 0xc74974]
mov esi, 0x59a364
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
inc dword [ebp - 0x52c]
dec dword [ebp - 0x5b0]
jne 0x58d962
mov al, byte [ebp - 0x4b5]
call fcn.004a11e8
mov edx, eax
lea eax, [ebp - 0x1e0c]
call fcn.00405460
mov ecx, dword [ebp - 0x1e0c]
lea eax, [ebp - 0x1e08]
mov edx, 0x59abc8
call fcn.00405594
mov eax, dword [ebp - 0x1e08]
call fcn.004c6770
mov eax, dword [ebp - 0x29c]
mov edx, 0x19
call fcn.00581820
mov eax, dword [ebp - 0x29c]
add eax, 0x44
mov edx, 0x32
call fcn.00581930
mov eax, dword [ebp - 0x29c]
add eax, 0x2f
mov edx, 0x14
call fcn.00581930
mov eax, dword [ebp - 0x29c]
add eax, 0x1a
mov edx, 0x14
call fcn.00581820
mov edx, 0x59abd0
lea eax, [ebp - 0x100c]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x100c]
mov cl, 0x24
call fcn.00403280
lea edx, [ebp - 0x100c]
lea eax, [ebp - 0x1e10]
call fcn.004054ec
mov eax, dword [ebp - 0x1e10]
call fcn.004c6770
mov edx, 0x59abdc
lea eax, [ebp - 0x1e54]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x44
lea eax, [ebp - 0x1e54]
mov cl, 0x3e
call fcn.00403280
lea edx, [ebp - 0x1e54]
lea eax, [ebp - 0x1e14]
call fcn.004054ec
mov eax, dword [ebp - 0x1e14]
call fcn.004c6770
mov edx, 0x59abec
lea eax, [ebp - 0x1e7c]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
lea eax, [ebp - 0x1e7c]
mov cl, 0x20
call fcn.00403280
lea edx, [ebp - 0x1e7c]
lea eax, [ebp - 0x1e58]
call fcn.004054ec
mov eax, dword [ebp - 0x1e58]
call fcn.004c6770
mov edx, 0x59abfc
lea eax, [ebp - 0x1ea4]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x1a
lea eax, [ebp - 0x1ea4]
mov cl, 0x22
call fcn.00403280
lea edx, [ebp - 0x1ea4]
lea eax, [ebp - 0x1e80]
call fcn.004054ec
mov eax, dword [ebp - 0x1e80]
call fcn.004c6770
imul eax, dword [ebp - 0x2ac], 0x97
lea edx, [eax + 0xc687b4]
lea eax, [ebp - 0x1f50]
call fcn.004032b0
mov edx, 0x59ac0c
lea eax, [ebp - 0x1f50]
mov cl, 0xa1
call fcn.00403280
lea edx, [ebp - 0x1f50]
lea eax, [ebp - 0x1eac]
call fcn.004054ec
push dword [ebp - 0x1eac]
push dword [ebp - 0x55c]
push dword [ebp - 0x560]
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x1f54]
call fcn.0040a928
push dword [ebp - 0x1f54]
push 0x59ac20
lea eax, [ebp - 0x1ea8]
mov edx, 3
call fcn.00405608
mov edx, dword [ebp - 0x1ea8]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
imul eax, dword [ebp - 0x2ac], 0x97
add eax, 0xc687b4
mov cl, 0x96
call fcn.004032bc
call fcn.0040d300
fstp qword [ebp - 0x560]
wait
mov eax, dword [ebp - 0x29c]
cmp byte [eax], 3
jae 0x58dd0d
mov byte [ebp - 0x5a7], 0
lea eax, [ebp - 0x1f5c]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1f5c]
lea edx, [ebp - 0x1f58]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1f58]
mov eax, 0x59a678
call fcn.0040588c
test eax, eax
jle 0x58dc8c
mov byte [ebp - 0x5a7], 1
lea ecx, [ebp - 0x578]
lea edx, [ebp - 0x570]
mov eax, dword [ebp - 0x2a8]
call fcn.005821c8
mov dword [ebp - 0x568], eax
mov dword [ebp - 0x564], edx
cmp dword [ebp - 0x564], 0
jne 0x58dcc3
cmp dword [ebp - 0x568], 0
jbe 0x58dcf8
jmp 0x58dcc5
jle 0x58dcf8
cmp dword [ebp - 0x56c], 0
jne 0x58dcd9
cmp dword [ebp - 0x570], 0
jbe 0x58dcf8
jmp 0x58dcdb
jle 0x58dcf8
cmp dword [ebp - 0x574], 0
jne 0x58dcef
cmp dword [ebp - 0x578], 0
jbe 0x58dcf8
jmp 0x58dcf1
jle 0x58dcf8
mov byte [ebp - 0x5a7], 1
cmp byte [ebp - 0x5a7], 0
jne 0x58dd0d
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
lea eax, [ebp - 0x1f60]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x1f60]
lea edx, [ebp - 0x4d0]
call fcn.0040a0f8
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ac2c
call fcn.0040588c
test eax, eax
jle 0x58dd4f
mov byte [ebp - 0x4b5], 0
jmp 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ac3c
call fcn.0040588c
test eax, eax
jle 0x58dd97
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ac4c
call fcn.0040588c
test eax, eax
jg 0x58dd8b
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ac5c
call fcn.0040588c
test eax, eax
jle 0x58dd97
mov byte [ebp - 0x4b5], 0
jmp 0x5959a7
push ebp
call fcn.005843dc
pop ecx
test al, al
jne 0x5959a7
mov eax, 0x59ac6c
call fcn.0049d570
and al, byte [ebp - 0x4b5]
je 0x58ddc8
lea eax, [ebp - 0x4d0]
mov edx, 0x59ac7c
call fcn.00405310
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ac98
call fcn.0040588c
test eax, eax
jle 0x58de82
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59aca8
call fcn.0040588c
test eax, eax
jle 0x58de82
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59acb8
call fcn.0040588c
test eax, eax
jle 0x58de82
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59acc8
call fcn.0040588c
test eax, eax
jle 0x58de63
lea ecx, [ebp - 0x578]
lea edx, [ebp - 0x570]
mov eax, dword [ebp - 0x2a8]
call fcn.005821c8
mov dword [ebp - 0x568], eax
mov dword [ebp - 0x564], edx
cmp dword [ebp - 0x564], 8
jne 0x58de5d
cmp dword [ebp - 0x568], 0x26299e00
jae 0x58de63
jmp 0x5959a7
jl 0x5959a7
mov eax, dword [ebp - 0x2ac]
cmp dword [eax*4 + 0x11f040c], 0
jge 0x58de82
mov dword [ebp - 0x2b4], 2
jmp 0x591f44
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59acd4
call fcn.0040588c
test eax, eax
jle 0x58dee1
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ace4
call fcn.0040588c
test eax, eax
jle 0x58dee1
mov eax, dword [ebp - 0x29c]
add eax, 0x1a
mov edx, 0x59acf0
call fcn.004032d8
jb 0x5959a7
mov eax, dword [ebp - 0x29c]
add eax, 0x1a
mov edx, 0x59acf8
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040335c
je 0x5959a7
lea eax, [ebp - 0x1f68]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1f68]
lea edx, [ebp - 0x1f64]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1f64]
mov eax, 0x59ad08
call fcn.0040588c
test eax, eax
jg 0x5959a7
lea eax, [ebp - 0x1f70]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1f70]
lea edx, [ebp - 0x1f6c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1f6c]
mov eax, 0x59ad18
call fcn.0040588c
test eax, eax
jg 0x5959a7
lea eax, [ebp - 0x1f78]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1f78]
lea edx, [ebp - 0x1f74]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1f74]
mov eax, 0x59ad2c
call fcn.0040588c
test eax, eax
jg 0x5959a7
lea eax, [ebp - 0x1f80]
mov edx, dword [ebp - 0x29c]
add edx, 0x1a
call fcn.004054ec
mov eax, dword [ebp - 0x1f80]
lea edx, [ebp - 0x1f7c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1f7c]
mov eax, 0x59ad40
call fcn.0040588c
test eax, eax
jle 0x58dfe9
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ad50
call fcn.0040588c
test eax, eax
jg 0x5959a7
lea eax, [ebp - 0x1f88]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1f88]
lea edx, [ebp - 0x1f84]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1f84]
mov eax, 0x59ad68
call fcn.0040588c
test eax, eax
jg 0x5959a7
lea eax, [ebp - 0x1f90]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1f90]
lea edx, [ebp - 0x1f8c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1f8c]
mov eax, 0x59ad7c
call fcn.0040588c
test eax, eax
jg 0x5959a7
lea eax, [ebp - 0x1f98]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1f98]
lea edx, [ebp - 0x1f94]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1f94]
mov eax, 0x59ad90
call fcn.0040588c
test eax, eax
jg 0x5959a7
lea eax, [ebp - 0x1fa0]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1fa0]
lea edx, [ebp - 0x1f9c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1f9c]
mov eax, 0x59ada0
call fcn.0040588c
test eax, eax
jg 0x5959a7
lea eax, [ebp - 0x1fa8]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1fa8]
lea edx, [ebp - 0x1fa4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1fa4]
mov eax, 0x59adb4
call fcn.0040588c
test eax, eax
jg 0x5959a7
lea eax, [ebp - 0x1fb0]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1fb0]
lea edx, [ebp - 0x1fac]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1fac]
mov eax, 0x59adc8
call fcn.0040588c
test eax, eax
jg 0x5959a7
lea eax, [ebp - 0x1fb8]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x1fb8]
lea edx, [ebp - 0x1fb4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1fb4]
mov eax, 0x59addc
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59adf0
call fcn.0040588c
test eax, eax
jle 0x58e1c0
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ae00
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ae10
call fcn.0040588c
test eax, eax
jle 0x58e1ec
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ae20
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ae30
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ae44
call fcn.0040588c
test eax, eax
jle 0x58e230
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ae50
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ae60
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ae74
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ae88
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ad7c
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59ae9c
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59aeb4
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59aec8
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59aedc
call fcn.0040588c
test eax, eax
jle 0x58e304
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59aeec
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59aefc
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59af10
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59af20
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59af34
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59acc8
call fcn.0040588c
test eax, eax
jle 0x58e3d4
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59af4c
call fcn.0040588c
test eax, eax
jle 0x58e3a4
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59af5c
call fcn.0040588c
test eax, eax
je 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59af6c
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59af90
call fcn.0040588c
test eax, eax
jle 0x58e400
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59af4c
call fcn.0040588c
test eax, eax
jg 0x5959a7
mov edx, dword [ebp - 0x4d0]
mov eax, 0x59afa0
call fcn.0040588c
test eax, eax
jle 0x58e4c0
lea eax, [ebp - 0x5c8]
xor ecx, ecx
mov edx, 0x10
call fcn.00403450
mov byte [ebp - 0x5c8], 0xa1
mov byte [ebp - 0x5c7], 8
mov byte [ebp - 0x5c6], 0xe
mov byte [ebp - 0x5c5], 0
mov byte [ebp - 0x5c4], 1
mov byte [ebp - 0x5c3], 0
mov byte [ebp - 0x5c2], 0
mov byte [ebp - 0x5c1], 0
mov al, byte [ebp - 0x5a6]
mov byte [ebp - 0x5c0], al
cmp dword [ebp - 0x2b4], 9
jne 0x591faa
mov byte [ebp - 0x5c0], 0xb0
mov byte [ebp - 0x5bf], 0xec
cmp dword [ebp - 0x2b4], 3
je 0x591fc3
cmp dword [ebp - 0x2b4], 4
jne 0x592039
lea eax, [ebp - 0x5c8]
xor ecx, ecx
mov edx, 0x10
call fcn.00403450
mov byte [ebp - 0x5c8], 0xdf
mov byte [ebp - 0x5c7], 0x10
mov byte [ebp - 0x5c6], 0
mov byte [ebp - 0x5c5], 2
mov byte [ebp - 0x5c4], 0
mov byte [ebp - 0x5c3], 0
mov byte [ebp - 0x5c2], 1
mov byte [ebp - 0x5c1], 1
mov byte [ebp - 0x5c0], 0
mov byte [ebp - 0x5bf], 0
mov byte [ebp - 0x5be], 0xa0
cmp dword [ebp - 0x2b4], 4
jne 0x592032
mov byte [ebp - 0x5be], 0xb0
mov byte [ebp - 0x5bd], 0xec
cmp dword [ebp - 0x2b4], 5
jne 0x5920ad
cmp byte [ebp - 0x248], 0xbb
jne 0x595c40
cmp byte [ebp - 0x247], 0
jne 0x595c40
cmp byte [ebp - 0x246], 2
jne 0x595c40
push 0x59cfd0
lea edx, [ebp - 0x25e4]
mov eax, dword [ebp - 0x2ac]
call fcn.0040a83c
push dword [ebp - 0x25e4]
push 0x5990e8
lea eax, [ebp - 0x25e8]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
push dword [ebp - 0x25e8]
lea eax, [ebp - 0x25e0]
mov edx, 4
call fcn.00405608
mov eax, dword [ebp - 0x25e0]
call fcn.004c6770
lea eax, [ebp - 0x25f0]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x25f0]
lea edx, [ebp - 0x25ec]
call fcn.0040a0f8
mov edx, dword [ebp - 0x25ec]
mov eax, 0x59c340
call fcn.0040588c
test eax, eax
jne 0x595c40
lea eax, [ebp - 0x25f8]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x25f8]
lea edx, [ebp - 0x25f4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x25f4]
mov eax, 0x59a1e4
call fcn.0040588c
test eax, eax
jne 0x595c40
mov eax, dword [ebp - 0x29c]
add eax, 0x2f
mov edx, 0x59cfec
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040335c
jne 0x595c40
push 0x59cff8
lea edx, [ebp - 0x2600]
mov eax, dword [ebp - 0x2ac]
call fcn.0040a83c
push dword [ebp - 0x2600]
push 0x5990e8
lea eax, [ebp - 0x2604]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
push dword [ebp - 0x2604]
lea eax, [ebp - 0x25fc]
mov edx, 4
call fcn.00405608
mov eax, dword [ebp - 0x25fc]
call fcn.004c6770
push 0x1ff
lea eax, [ebp - 0x4e4]
push eax
lea ecx, [ebp - 0x24c]
mov edx, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x2a8]
call fcn.005aa120
mov eax, dword [ebp - 0x29c]
mov byte [eax + 0x2f], 0
mov dword [ebp - 0x52c], 0x14
mov eax, dword [ebp - 0x52c]
mov al, byte [ebp + eax - 0x24c]
add al, 0xe0
sub al, 0x60
jae 0x595b7f
lea eax, [ebp - 0xdb4]
mov edx, dword [ebp - 0x52c]
mov dl, byte [ebp + edx - 0x24c]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0xdb4]
mov eax, dword [ebp - 0x29c]
add eax, 0x2f
mov cl, 0x14
call fcn.00403280
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x28
jne 0x595b3d
lea eax, [ebp - 0x260c]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x260c]
lea edx, [ebp - 0x2608]
call fcn.0040a348
mov edx, dword [ebp - 0x2608]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
mov eax, dword [ebp - 0x29c]
add eax, 0x2f
mov cl, 0x14
call fcn.004032bc
mov eax, dword [ebp - 0x29c]
cmp byte [eax + 0x2f], 4
jae 0x595bf7
mov eax, dword [ebp - 0x29c]
mov word [eax + 0x2f], 0x3f01
mov edx, 0x59d024
lea eax, [ebp - 0xc4c]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
lea eax, [ebp - 0xc4c]
mov cl, 0x2b
call fcn.00403280
lea edx, [ebp - 0xc4c]
lea eax, [ebp - 0x2610]
call fcn.004054ec
mov eax, dword [ebp - 0x2610]
call fcn.004c6770
mov byte [ebp - 0x4b5], 1
mov al, byte [ebp - 0x4b5]
call fcn.004a11e8
mov edx, eax
lea eax, [ebp - 0x2618]
call fcn.00405460
mov ecx, dword [ebp - 0x2618]
lea eax, [ebp - 0x2614]
mov edx, 0x59d044
call fcn.00405594
mov eax, dword [ebp - 0x2614]
call fcn.004c6770
mov byte [ebp - 0x5a5], 1
mov byte [ebp - 0x507], 1
cmp byte [ebp - 0x5a6], 0xb0
jne 0x595c97
mov byte [ebp - 0x507], 0
cmp byte [ebp - 0x507], 0
je 0x595cc2
mov eax, dword [ebp - 0x2ac]
call fcn.005b8404
test al, al
je 0x595cc2
mov byte [ebp - 0x5a5], 2
mov byte [ebp - 0x4c1], 1
jmp 0x598af7
cmp byte [ebp - 0x4b5], 0
je 0x596851
mov eax, 0x59d058
call fcn.0049d570
test al, al
jne 0x596851
lea eax, [ebp - 0x2620]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x2620]
lea edx, [ebp - 0x261c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x261c]
mov eax, 0x59c650
call fcn.0040588c
test eax, eax
jle 0x595dcc
mov eax, dword [ebp - 0x2ac]
cmp dword [eax*4 + 0x11f040c], 7
jne 0x595dcc
mov eax, 0x59c664
call fcn.004aadd8
test al, al
je 0x595dcc
lea edx, [ebp - 0x2624]
mov eax, dword [ebp - 0x2ac]
call fcn.00580d30
mov eax, dword [ebp - 0x2624]
call fcn.00405548
cmp eax, 8
jle 0x595dcc
cmp byte [ebp - 0x5a6], 0xa0
jne 0x595dcc
cmp dword [ebp - 0x2ac], 0xc6
jge 0x595dcc
mov eax, dword [ebp - 0x2ac]
cmp eax, dword [0x7cdf58]
jl 0x595dcc
cmp dword [ebp - 0x590], 1
jne 0x595dba
mov eax, dword [ebp - 0x2ac]
mov edx, eax
shl eax, 4
add eax, edx
mov word [eax + 0x11f2421], 0x51
mov eax, dword [ebp - 0x2ac]
mov edx, eax
shl eax, 4
add eax, edx
mov word [eax + 0x11f2423], 0x51
mov byte [ebp - 0x5a6], 0xb0
inc dword [ebp - 0x2ac]
jmp 0x591f44
mov eax, dword [ebp - 0x2ac]
cmp dword [eax*4 + 0x11f040c], 7
jne 0x595e7d
cmp byte [ebp - 0x5a6], 0xb0
jne 0x595e7d
lea edx, [ebp - 0x2628]
mov eax, dword [ebp - 0x2ac]
call fcn.00580d30
mov eax, dword [ebp - 0x2628]
call fcn.00405548
cmp eax, 8
jle 0x595e7d
mov eax, dword [ebp - 0x29c]
cmp dword [eax + 0x174], 7
jne 0x595e7d
mov eax, dword [ebp - 0x2ac]
call fcn.005b2698
test al, al
jne 0x595e7d
mov eax, dword [0x7d7484]
cmp dword [eax], 2
jne 0x595e51
mov eax, dword [ebp - 0x2ac]
inc eax
cmp eax, dword [0x7cdf58]
jl 0x595e51
mov eax, dword [ebp - 0x2ac]
inc eax
mov dword [0x7cdf58], eax
mov eax, dword [ebp - 0x2ac]
mov edx, eax
shl eax, 4
add eax, edx
mov word [eax + 0x11f2421], 0x52
mov eax, dword [ebp - 0x2ac]
mov edx, eax
shl eax, 4
add eax, edx
mov word [eax + 0x11f2423], 0x52
mov eax, dword [ebp - 0x2ac]
cmp dword [eax*4 + 0x11f040c], 2
jne 0x596649
cmp byte [ebp - 0x5a6], 0xa0
jne 0x596649
cmp dword [ebp - 0x2ac], 0xc6
jge 0x596649
mov eax, dword [ebp - 0x2ac]
cmp eax, dword [0x7cdf58]
jl 0x596649
mov byte [ebp - 0x507], 1
push 1
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x264c]
call fcn.004032b0
mov edx, 0x59d060
lea eax, [ebp - 0x264c]
mov cl, 0x1b
call fcn.00403280
lea edx, [ebp - 0x264c]
lea eax, [ebp - 0x1ab0]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
lea eax, [ebp - 0x1ab0]
mov cl, 0x2f
call fcn.00403280
lea edx, [ebp - 0x1ab0]
lea eax, [ebp - 0xc80]
call fcn.004032b0
mov edx, 0x59d064
lea eax, [ebp - 0xc80]
mov cl, 0x32
call fcn.00403280
lea edx, [ebp - 0xc80]
lea eax, [ebp - 0x2630]
call fcn.004054ec
push dword [ebp - 0x2630]
lea edx, [ebp - 0x2650]
mov eax, dword [ebp - 0x2ac]
call fcn.0040a83c
push dword [ebp - 0x2650]
push 0x59d070
lea eax, [ebp - 0x262c]
mov edx, 3
call fcn.00405608
mov ecx, dword [ebp - 0x262c]
mov edx, 0x59d07c
mov eax, 0x59d090
call fcn.0049ec58
mov eax, 0x59d0b0
call fcn.004aadd8
test al, al
je 0x59600a
mov byte [ebp - 0x507], 0
xor eax, eax
push ebp
push 0x596000
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0xc685ac], 0
je 0x595ff6
lea edx, [ebp - 0x2658]
mov eax, dword [0xc685ac]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x2658]
lea edx, [ebp - 0x2654]
call fcn.0040a0f8
mov edx, dword [ebp - 0x2654]
mov eax, 0x59d0b0
call fcn.0040588c
test eax, eax
jne 0x595ff6
mov byte [ebp - 0x507], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59600a
lea eax, [ebp - 0x2660]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x2660]
lea edx, [ebp - 0x265c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x265c]
mov eax, 0x59c78c
call fcn.0040588c
test eax, eax
jle 0x596047
mov byte [ebp - 0x507], 0
lea eax, [ebp - 0x2668]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x2668]
lea edx, [ebp - 0x2664]
call fcn.0040a0f8
mov edx, dword [ebp - 0x2664]
mov eax, 0x59c350
call fcn.0040588c
test eax, eax
jle 0x596084
mov byte [ebp - 0x507], 0
lea eax, [ebp - 0x2670]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x2670]
lea edx, [ebp - 0x266c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x266c]
mov eax, 0x59d0cc
call fcn.0040588c
test eax, eax
jle 0x5960c1
mov byte [ebp - 0x507], 0
lea eax, [ebp - 0x2678]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x2678]
lea edx, [ebp - 0x2674]
call fcn.0040a0f8
mov edx, dword [ebp - 0x2674]
mov eax, 0x59d0dc
call fcn.0040588c
test eax, eax
jle 0x59616a
lea eax, [ebp - 0x2680]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x2680]
lea edx, [ebp - 0x267c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x267c]
mov eax, 0x59a1e4
call fcn.0040588c
test eax, eax
jle 0x59616a
lea eax, [ebp - 0x2688]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x2688]
lea edx, [ebp - 0x2684]
call fcn.0040a0f8
mov edx, dword [ebp - 0x2684]
mov eax, 0x59d0ec
call fcn.0040588c
test eax, eax
jle 0x59616a
mov byte [ebp - 0x507], 1
lea eax, [ebp - 0x2690]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x2690]
lea edx, [ebp - 0x268c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x268c]
mov eax, 0x59d0f8
call fcn.0040588c
test eax, eax
jle 0x5961a7
mov byte [ebp - 0x507], 0
lea eax, [ebp - 0x2698]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x2698]
lea edx, [ebp - 0x2694]
call fcn.0040a0f8
mov edx, dword [ebp - 0x2694]
mov eax, 0x59d108
call fcn.0040588c
test eax, eax
jle 0x5961e4
mov byte [ebp - 0x507], 0
lea eax, [ebp - 0x26a0]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x26a0]
lea edx, [ebp - 0x269c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x269c]
mov eax, 0x59d11c
call fcn.0040588c
test eax, eax
jle 0x596224
mov byte [ebp - 0x507], 0
lea eax, [ebp - 0x26a8]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x26a8]
lea edx, [ebp - 0x26a4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x26a4]
mov eax, 0x59d12c
call fcn.0040588c
test eax, eax
jle 0x596264
mov byte [ebp - 0x507], 0
lea eax, [ebp - 0x26b0]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x26b0]
lea edx, [ebp - 0x26ac]
call fcn.0040a0f8
mov edx, dword [ebp - 0x26ac]
mov eax, 0x59a5c4
call fcn.0040588c
test eax, eax
jle 0x5962a4
mov byte [ebp - 0x507], 0
lea eax, [ebp - 0x26b8]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x26b8]
lea edx, [ebp - 0x26b4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x26b4]
mov eax, 0x59d13c
call fcn.0040588c
test eax, eax
jle 0x5962e1
mov byte [ebp - 0x507], 0
lea eax, [ebp - 0x26c0]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x26c0]
lea edx, [ebp - 0x26bc]
call fcn.0040a0f8
mov edx, dword [ebp - 0x26bc]
mov eax, 0x59c72c
call fcn.0040588c
test eax, eax
jle 0x596354
lea eax, [ebp - 0x26c8]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x26c8]
lea edx, [ebp - 0x26c4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x26c4]
mov eax, 0x59c73c
call fcn.0040588c
test eax, eax
jle 0x596354
mov byte [ebp - 0x507], 0
lea eax, [ebp - 0x26d0]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x26d0]
lea edx, [ebp - 0x26cc]
call fcn.0040a0f8
mov edx, dword [ebp - 0x26cc]
mov eax, 0x59d150
call fcn.0040588c
test eax, eax
jle 0x596391
mov byte [ebp - 0x507], 0
lea eax, [ebp - 0x26d8]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x26d8]
lea edx, [ebp - 0x26d4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x26d4]
mov eax, 0x59b5a4
call fcn.0040588c
test eax, eax
jle 0x59643a
lea eax, [ebp - 0x26e0]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x26e0]
lea edx, [ebp - 0x26dc]
call fcn.0040a0f8
mov edx, dword [ebp - 0x26dc]
mov eax, 0x59a018
call fcn.0040588c
test eax, eax
jle 0x59643a
lea eax, [ebp - 0x26e8]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x26e8]
lea edx, [ebp - 0x26e4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x26e4]
mov eax, 0x59d168
call fcn.0040588c
test eax, eax
jle 0x59643a
mov byte [ebp - 0x507], 0
lea eax, [ebp - 0x26f0]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x26f0]
lea edx, [ebp - 0x26ec]
call fcn.0040a0f8
mov edx, dword [ebp - 0x26ec]
mov eax, 0x5993c8
call fcn.0040588c
test eax, eax
jle 0x59660c
lea eax, [ebp - 0x26f8]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x26f8]
lea edx, [ebp - 0x26f4]
call fcn.0040a0f8
mov edx, dword [ebp - 0x26f4]
mov eax, 0x5993d8
call fcn.0040588c
test eax, eax
jle 0x59660c
lea eax, [ebp - 0x2700]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x2700]
lea edx, [ebp - 0x26fc]
call fcn.0040a0f8
mov edx, dword [ebp - 0x26fc]
mov eax, 0x59c6d4
call fcn.0040588c
test eax, eax
jle 0x59660c
mov edx, 0x59d16c
lea eax, [ebp - 0x1b50]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
lea eax, [ebp - 0x1b50]
mov cl, 0x21
call fcn.00403280
lea edx, [ebp - 0x1b50]
lea eax, [ebp - 0x2704]
call fcn.004054ec
mov eax, dword [ebp - 0x2704]
call fcn.004c6770
mov eax, dword [ebp - 0x2ac]
cmp eax, 0
jl 0x59660c
mov dword [ebp - 0x52c], eax
push 0x59d180
lea edx, [ebp - 0x270c]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
push dword [ebp - 0x270c]
push 0x59d190
lea edx, [ebp - 0x2710]
mov eax, dword [ebp - 0x52c]
call fcn.00580fb0
push dword [ebp - 0x2710]
lea eax, [ebp - 0x2708]
mov edx, 4
call fcn.00405608
mov eax, dword [ebp - 0x2708]
call fcn.004c6770
lea edx, [ebp - 0x2714]
mov eax, dword [ebp - 0x52c]
call fcn.00580fb0
mov edx, dword [ebp - 0x2714]
mov eax, 0x59d1a0
call fcn.0040588c
test eax, eax
jle 0x5965f9
mov byte [ebp - 0x507], 0
push 0x59d180
lea edx, [ebp - 0x271c]
mov eax, dword [ebp - 0x52c]
call fcn.0040a83c
push dword [ebp - 0x271c]
push 0x59d1b4
lea eax, [ebp - 0x2718]
mov edx, 3
call fcn.00405608
mov eax, dword [ebp - 0x2718]
call fcn.004c6770
jmp 0x59660c
dec dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0xffffffff
jne 0x59653c
push ebp
mov eax, dword [ebp - 0x2ac]
call fcn.005847ec
pop ecx
test al, al
je 0x596624
mov byte [ebp - 0x507], 0
cmp byte [ebp - 0x507], 0
je 0x596649
mov byte [ebp - 0x5a6], 0xb0
mov dword [ebp - 0x2b4], 2
inc dword [ebp - 0x2ac]
jmp 0x591f44
mov eax, dword [ebp - 0x2ac]
cmp dword [eax*4 + 0x11f040c], 2
jne 0x5966f2
cmp byte [ebp - 0x5a6], 0xb0
jne 0x5966f2
mov eax, dword [ebp - 0x2ac]
mov dword [eax*4 + 0x11f040c], 9
cmp byte [ebp - 0x597], 0
je 0x5966f2
mov byte [ebp - 0x595], 0
mov eax, dword [ebp - 0x2ac]
call fcn.005b3c10
test al, al
je 0x5966a1
mov byte [ebp - 0x595], 1
cmp byte [ebp - 0x595], 0
jne 0x5966d4
lea edx, [ebp - 0x5a4]
mov eax, dword [ebp - 0x2ac]
call fcn.005826e8
mov eax, dword [ebp - 0x5a4]
mov edx, 0x59cb90
call fcn.00405694
jne 0x5966d4
mov byte [ebp - 0x595], 1
cmp byte [ebp - 0x595], 0
je 0x5966f2
imul eax, dword [ebp - 0x2ac], 0xac1
mov dword [eax*8 + 0xc74ae8], 9
push 0x59d1c4
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
xor eax, eax
mov dword [ebp - 0x52c], eax
push 0x59d1e4
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x10
jne 0x596720
mov eax, dword [ebp - 0x2a8]
push eax
call sub.kernel32.dll_CloseHandle_1
mov eax, dword [ebp - 0x29c]
xor edx, edx
mov dword [eax + 0x128], edx
cmp byte [ebp - 0x24c], 0x47
jne 0x59683d
cmp byte [ebp - 0x24b], 0x4c
jne 0x59683d
cmp byte [ebp - 0x24a], 0x38
jne 0x59683d
cmp byte [ebp - 0x249], 0x31
jne 0x59683d
cmp byte [ebp - 0x248], 0x31
jne 0x59683d
lea eax, [ebp - 0x4e0]
mov edx, 0x59d1f0
call fcn.00405310
cmp byte [ebp - 0x247], 0x53
je 0x5967fb
push dword [ebp - 0x4e0]
push 0x59d1fc
lea eax, [ebp - 0x2720]
mov dl, byte [ebp - 0x247]
call fcn.00405460
push dword [ebp - 0x2720]
lea eax, [ebp - 0x4e0]
mov edx, 3
call fcn.00405608
lea eax, [ebp - 0x2724]
mov ecx, dword [ebp - 0x4e0]
mov edx, 0x59d208
call fcn.00405594
mov edx, dword [ebp - 0x2724]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
mov eax, dword [ebp - 0x29c]
add eax, 0x44
mov cl, 0x32
call fcn.004032bc
mov byte [ebp - 0x4c1], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x598c4f
lea eax, [ebp - 0xdd4]
push eax
mov eax, dword [ebp - 0x29c]
mov ecx, 4
mov edx, 1
call fcn.004029ac
lea eax, [ebp - 0xdd4]
mov edx, 0x59960c
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040335c
jne 0x596927
mov byte [ebp - 0x4c1], 1
push 0x59d218
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
xor eax, eax
mov dword [ebp - 0x52c], eax
push 0x59d1e4
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x10
jne 0x5968bd
mov eax, dword [ebp - 0x2a8]
push eax
call sub.kernel32.dll_CloseHandle_1
mov eax, dword [ebp - 0x29c]
xor edx, edx
mov dword [eax + 0x128], edx
mov eax, dword [ebp - 0x29c]
xor edx, edx
mov dword [eax + 0x12c], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x598c4f
mov eax, 0x59d238
call fcn.004c6770
mov byte [ebp - 0x541], 1
lea eax, [ebp - 0x5c8]
xor ecx, ecx
mov edx, 0x10
call fcn.00403450
mov byte [ebp - 0x5c8], 0x4d
mov byte [ebp - 0x5c6], 0x40
mov byte [ebp - 0x5c1], 0
mov byte [ebp - 0x5c0], 0xfc
push ebp
lea edx, [ebp - 0x5c8]
mov eax, 0x59d24c
call fcn.00582ee4
pop ecx
test al, al
je 0x596b6e
imul eax, dword [ebp - 0x2ac], 0x97
lea edx, [eax + 0xc687b4]
lea eax, [ebp - 0x27cc]
call fcn.004032b0
mov edx, 0x59d258
lea eax, [ebp - 0x27cc]
mov cl, 0x9e
call fcn.00403280
lea edx, [ebp - 0x27cc]
lea eax, [ebp - 0x272c]
call fcn.004054ec
push dword [ebp - 0x272c]
push dword [ebp - 0x55c]
push dword [ebp - 0x560]
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x27d0]
call fcn.0040a928
push dword [ebp - 0x27d0]
push 0x59ac20
lea eax, [ebp - 0x2728]
mov edx, 3
call fcn.00405608
mov edx, dword [ebp - 0x2728]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
imul eax, dword [ebp - 0x2ac], 0x97
add eax, 0xc687b4
mov cl, 0x96
call fcn.004032bc
call fcn.0040d300
fstp qword [ebp - 0x560]
wait
xor eax, eax
mov dword [ebp - 0x52c], eax
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x52c]
mov byte [eax + edx + 0x134], 0
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x40
jne 0x596a4f
xor eax, eax
mov al, byte [ebp - 0x249]
mov dword [ebp - 0x530], eax
cmp dword [ebp - 0x530], 1
jle 0x596a92
cmp dword [ebp - 0x530], 0x3f
jle 0x596a99
mov byte [ebp - 0x541], 0
mov eax, dword [ebp - 0x530]
dec eax
test eax, eax
jl 0x596aec
inc eax
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x52c], 0
mov eax, dword [ebp - 0x52c]
add eax, 4
movzx eax, byte [ebp + eax - 0x24c]
mov dword [ebp - 0x530], eax
cmp dword [ebp - 0x530], 0x3f
jle 0x596ade
mov byte [ebp - 0x541], 0
jmp 0x596aec
inc dword [ebp - 0x52c]
dec dword [ebp - 0x5b0]
jne 0x596ab5
cmp byte [ebp - 0x541], 0
je 0x596b6e
xor eax, eax
mov al, byte [ebp - 0x249]
dec eax
test eax, eax
jl 0x596b6e
inc eax
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x52c], 0
mov eax, dword [ebp - 0x52c]
add eax, 4
cmp eax, 0x200
jge 0x596b60
mov eax, dword [ebp - 0x52c]
add eax, 4
movzx eax, byte [ebp + eax - 0x24c]
mov dword [ebp - 0x530], eax
cmp dword [ebp - 0x530], 0
jl 0x596b60
cmp dword [ebp - 0x530], 0x3f
jg 0x596b60
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x530]
mov byte [eax + edx + 0x134], 1
inc dword [ebp - 0x52c]
dec dword [ebp - 0x5b0]
jne 0x596b13
mov al, byte [ebp - 0x541]
call fcn.004a11e8
mov edx, eax
lea eax, [ebp - 0x27d8]
call fcn.00405460
mov ecx, dword [ebp - 0x27d8]
lea eax, [ebp - 0x27d4]
mov edx, 0x59d26c
call fcn.00405594
mov eax, dword [ebp - 0x27d4]
call fcn.004c6770
cmp byte [ebp - 0x541], 0
jne 0x596db2
mov eax, 0x59d280
call fcn.004aa544
test al, al
je 0x596d09
mov eax, dword [ebp - 0x29c]
cmp byte [eax + 0xe0], 5
jb 0x596d09
push 0
push 0x400
push 0
push 0x400
lea ecx, [ebp - 0x578]
lea edx, [ebp - 0x570]
mov eax, dword [ebp - 0x2a8]
call fcn.005821c8
call fcn.00406410
call fcn.004063ec
mov dword [ebp - 0x568], eax
mov dword [ebp - 0x564], edx
cmp dword [ebp - 0x564], 0
jne 0x596c24
cmp dword [ebp - 0x568], 0
je 0x596d09
mov edx, dword [ebp - 0x29c]
mov eax, 0x59973c
call fcn.00402c58
test eax, eax
jne 0x596d09
lea eax, [ebp - 0x27e0]
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
call fcn.004054ec
mov eax, dword [ebp - 0x27e0]
lea edx, [ebp - 0x27dc]
call fcn.0040a0f8
mov edx, dword [ebp - 0x27dc]
mov eax, 0x59a5f4
call fcn.0040588c
test eax, eax
jne 0x596d09
mov eax, dword [ebp - 0x29c]
cmp byte [eax + 0xe0], 0xff
je 0x596d09
push ebp
call fcn.0058522c
pop ecx
test al, al
je 0x596d09
cmp byte [ebp - 0x592], 0
jne 0x596d09
mov edx, 0x59d28c
lea eax, [ebp - 0x1620]
call fcn.004032b0
mov edx, dword [ebp - 0x29c]
add edx, 0x2f
lea eax, [ebp - 0x1620]
mov cl, 0x29
call fcn.00403280
lea edx, [ebp - 0x1620]
lea eax, [ebp - 0x27e4]
call fcn.004054ec
mov eax, dword [ebp - 0x27e4]
call fcn.004c6770
mov byte [ebp - 0x592], 1
mov eax, dword [ebp - 0x2a8]
call fcn.005aa59c
mov dword [ebp - 0x530], eax
cmp dword [ebp - 0x530], 7
jne 0x58c4fd
mov byte [ebp - 0x4c1], 1
push 0x59d2ac
push dword [ebp - 0x554]
push dword [ebp - 0x558]
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x27ec]
call fcn.0040a928
push dword [ebp - 0x27ec]
push 0x59d2c8
lea eax, [ebp - 0x27f0]
imul edx, dword [ebp - 0x2ac], 0x97
add edx, 0xc687b4
call fcn.004054ec
push dword [ebp - 0x27f0]
lea eax, [ebp - 0x27e8]
mov edx, 4
call fcn.00405608
mov edx, dword [ebp - 0x27e8]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
imul eax, dword [ebp - 0x2ac], 0x97
add eax, 0xc687b4
mov cl, 0x96
call fcn.004032bc
jmp 0x598af7
cmp byte [ebp - 0x24c], 0
jne 0x596dc8
cmp byte [ebp - 0x24b], 0
je 0x596e71
mov byte [ebp - 0x4c1], 1
push 0x59d2d8
push dword [ebp - 0x554]
push dword [ebp - 0x558]
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x27f8]
call fcn.0040a928
push dword [ebp - 0x27f8]
push 0x59d2c8
lea eax, [ebp - 0x27fc]
imul edx, dword [ebp - 0x2ac], 0x97
add edx, 0xc687b4
call fcn.004054ec
push dword [ebp - 0x27fc]
lea eax, [ebp - 0x27f4]
mov edx, 4
call fcn.00405608
mov edx, dword [ebp - 0x27f4]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
imul eax, dword [ebp - 0x2ac], 0x97
add eax, 0xc687b4
mov cl, 0x96
call fcn.004032bc
jmp 0x598af7
cmp byte [ebp - 0x541], 0
je 0x596f32
lea eax, [ebp - 0x2804]
imul edx, dword [ebp - 0x2ac], 0x65
add edx, 0x11eb524
call fcn.004054ec
mov eax, dword [ebp - 0x2804]
lea edx, [ebp - 0x2800]
call fcn.0040a0f8
mov edx, dword [ebp - 0x2800]
mov eax, 0x59d2ec
call fcn.0040588c
test eax, eax
jle 0x596f32
imul eax, dword [ebp - 0x2ac], 0xac1
cmp dword [eax*8 + 0xc7746c], 0x3e8
jl 0x596f32
imul eax, dword [ebp - 0x2ac], 0xac1
lea eax, [eax*8 + 0xc74d58]
xor ecx, ecx
mov edx, 0x2711
call fcn.00403450
imul eax, dword [ebp - 0x2ac], 0xac1
lea eax, [eax*8 + 0xc77470]
xor ecx, ecx
mov edx, 0x2711
call fcn.00403450
imul eax, dword [ebp - 0x2ac], 0xac1
xor edx, edx
mov dword [eax*8 + 0xc7746c], edx
imul eax, dword [ebp - 0x2ac], 0xac1
xor edx, edx
mov dword [eax*8 + 0xc79b84], edx
mov byte [ebp - 0x539], 0xa
mov eax, 0xc685b4
xor ecx, ecx
mov edx, 0x200
call fcn.00403450
lea eax, [ebp - 0x298]
xor ecx, ecx
mov edx, 0x298
call fcn.00403450
mov word [ebp - 0x298], 0x2c
mov byte [ebp - 0x294], 1
mov byte [ebp - 0x292], 0xa
mov byte [ebp - 0x291], 0x18
mov byte [ebp - 0x290], 1
mov dword [ebp - 0x28c], 0xfc
mov dword [ebp - 0x288], 2
lea eax, [ebp - 0x24c]
lea edx, [ebp - 0x298]
sub eax, edx
mov dword [ebp - 0x284], eax
lea eax, [ebp - 0x26c]
lea edx, [ebp - 0x298]
sub eax, edx
mov dword [ebp - 0x280], eax
mov byte [ebp - 0x27c], 0x5a
mov byte [ebp - 0x27a], 0x1c
mov byte [ebp - 0x275], 0
mov byte [ebp - 0x274], 0xfc
mov eax, dword [ebp - 0x284]
add eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2a4], eax
push 0
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x2a4]
push eax
lea eax, [ebp - 0x298]
push eax
push 0x2c
lea eax, [ebp - 0x298]
push eax
push 0x4d004
mov eax, dword [ebp - 0x2a8]
push eax
call sub.kernel32.dll_DeviceIoControl
test eax, eax
je 0x598af7
imul eax, dword [ebp - 0x2ac], 0x97
lea edx, [eax + 0xc687b4]
lea eax, [ebp - 0x28b4]
call fcn.004032b0
mov edx, 0x59d2f8
lea eax, [ebp - 0x28b4]
mov cl, 0xa5
call fcn.00403280
lea edx, [ebp - 0x28b4]
lea eax, [ebp - 0x280c]
call fcn.004054ec
push dword [ebp - 0x280c]
push dword [ebp - 0x55c]
push dword [ebp - 0x560]
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x28b8]
call fcn.0040a928
push dword [ebp - 0x28b8]
push 0x59ac20
lea eax, [ebp - 0x2808]
mov edx, 3
call fcn.00405608
mov edx, dword [ebp - 0x2808]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
imul eax, dword [ebp - 0x2ac], 0x97
add eax, 0xc687b4
mov cl, 0x96
call fcn.004032bc
call fcn.0040d300
fstp qword [ebp - 0x560]
wait
push 0x59d310
lea edx, [ebp - 0x28c0]
xor eax, eax
mov al, byte [ebp - 0x539]
call fcn.0040a83c
push dword [ebp - 0x28c0]
push 0x59ca54
lea eax, [ebp - 0x28bc]
mov edx, 3
call fcn.00405608
mov eax, dword [ebp - 0x28bc]
push eax
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
xor eax, eax
mov dword [ebp - 0x52c], eax
lea eax, [ebp - 0x28c4]
mov edx, dword [ebp - 0x52c]
mov dl, byte [ebp + edx - 0x26c]
call fcn.00405460
mov eax, dword [ebp - 0x28c4]
push eax
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x20
jne 0x59714e
push 0x59d324
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
xor eax, eax
mov dword [ebp - 0x52c], eax
lea eax, [ebp - 0x28c8]
mov edx, dword [ebp - 0x52c]
mov dl, byte [ebp + edx - 0x24c]
call fcn.00405460
mov eax, dword [ebp - 0x28c8]
push eax
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0xc0
jne 0x5971cb
push 0x59d338
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
xor eax, eax
mov dword [ebp - 0x52c], eax
lea eax, [ebp - 0x28cc]
mov edx, dword [ebp - 0x52c]
mov dl, byte [ebp + edx - 0x4c]
call fcn.00405460
mov eax, dword [ebp - 0x28cc]
push eax
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x20
jne 0x59724b
xor eax, eax
mov dword [ebp - 0x550], eax
mov dword [ebp - 0x548], 0xff
xor eax, eax
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x530], 2
mov eax, dword [ebp - 0x530]
cmp byte [ebp + eax - 0x24c], 0
je 0x5973d1
mov al, byte [ebp - 0x539]
sub al, 0xa
jne 0x597323
xor eax, eax
mov al, byte [ebp - 0x24c]
shl eax, 8
xor edx, edx
mov dl, byte [ebp - 0x24b]
add eax, edx
add eax, 2
mov dword [ebp - 0x548], eax
xor eax, eax
mov al, byte [ebp - 0x246]
shl eax, 8
xor edx, edx
mov dl, byte [ebp - 0x245]
add eax, edx
mov dword [ebp - 0x54c], eax
mov eax, dword [ebp - 0x54c]
add eax, 8
mov dword [ebp - 0x550], eax
jmp 0x59734f
xor eax, eax
mov al, byte [ebp - 0x24c]
inc eax
mov dword [ebp - 0x548], eax
xor eax, eax
mov al, byte [ebp - 0x249]
mov dword [ebp - 0x54c], eax
mov eax, dword [ebp - 0x54c]
add eax, 4
mov dword [ebp - 0x550], eax
cmp dword [ebp - 0x548], 0x32
jge 0x5973d1
cmp dword [ebp - 0x54c], 0
jle 0x5973d1
mov eax, dword [ebp - 0x550]
add eax, 2
cmp eax, 0x200
jge 0x5973d1
mov eax, dword [ebp - 0x550]
add eax, 2
cmp eax, dword [ebp - 0x548]
jge 0x5973d1
mov eax, dword [ebp - 0x550]
movzx eax, byte [ebp + eax - 0x24a]
mov dword [ebp - 0x52c], eax
mov eax, dword [ebp - 0x29c]
mov byte [eax + 0xe2], 1
test byte [ebp - 0x52c], 8
sete al
mov edx, dword [ebp - 0x29c]
mov byte [edx + 0xe3], al
test byte [ebp - 0x52c], 0x10
setne al
mov edx, dword [ebp - 0x29c]
mov byte [edx + 0x125], al
jmp 0x5973e4
inc dword [ebp - 0x530]
cmp dword [ebp - 0x530], 0xb
jne 0x5972bb
mov edx, dword [ebp - 0x29c]
mov eax, 0x59d344
call fcn.00402c58
test eax, eax
jle 0x597412
mov eax, dword [ebp - 0x29c]
mov byte [eax + 0xe2], 1
mov eax, dword [ebp - 0x29c]
mov byte [eax + 0xe3], 1
mov eax, 0xc685b4
xor ecx, ecx
mov edx, 0x200
call fcn.00403450
lea eax, [ebp - 0x298]
xor ecx, ecx
mov edx, 0x298
call fcn.00403450
mov word [ebp - 0x298], 0x2c
mov byte [ebp - 0x294], 1
mov byte [ebp - 0x292], 0xa
mov byte [ebp - 0x291], 0x18
mov byte [ebp - 0x290], 1
mov dword [ebp - 0x28c], 0xfc
mov dword [ebp - 0x288], 2
lea eax, [ebp - 0x24c]
lea edx, [ebp - 0x298]
sub eax, edx
mov dword [ebp - 0x284], eax
lea eax, [ebp - 0x26c]
lea edx, [ebp - 0x298]
sub eax, edx
mov dword [ebp - 0x280], eax
mov byte [ebp - 0x27c], 0x4d
mov byte [ebp - 0x27a], 0x6f
mov byte [ebp - 0x275], 0
mov byte [ebp - 0x274], 0xfc
mov eax, dword [ebp - 0x284]
add eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2a4], eax
mov byte [ebp - 0x542], 1
push 0
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x2a4]
push eax
lea eax, [ebp - 0x298]
push eax
push 0x2c
lea eax, [ebp - 0x298]
push eax
push 0x4d004
mov eax, dword [ebp - 0x2a8]
push eax
call sub.kernel32.dll_DeviceIoControl
test eax, eax
je 0x597815
imul eax, dword [ebp - 0x2ac], 0x97
lea edx, [eax + 0xc687b4]
lea eax, [ebp - 0x2980]
call fcn.004032b0
mov edx, 0x59d350
lea eax, [ebp - 0x2980]
mov cl, 0xab
call fcn.00403280
lea edx, [ebp - 0x2980]
lea eax, [ebp - 0x28d4]
call fcn.004054ec
push dword [ebp - 0x28d4]
push dword [ebp - 0x55c]
push dword [ebp - 0x560]
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x2984]
call fcn.0040a928
push dword [ebp - 0x2984]
push 0x59ac20
lea eax, [ebp - 0x28d0]
mov edx, 3
call fcn.00405608
mov edx, dword [ebp - 0x28d0]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
imul eax, dword [ebp - 0x2ac], 0x97
add eax, 0xc687b4
mov cl, 0x96
call fcn.004032bc
call fcn.0040d300
fstp qword [ebp - 0x560]
wait
push 0x59d370
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
xor eax, eax
mov dword [ebp - 0x52c], eax
lea eax, [ebp - 0x2988]
mov edx, dword [ebp - 0x52c]
mov dl, byte [ebp + edx - 0x26c]
call fcn.00405460
mov eax, dword [ebp - 0x2988]
push eax
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x20
jne 0x5975f9
push 0x59d388
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
xor eax, eax
mov dword [ebp - 0x52c], eax
lea eax, [ebp - 0x298c]
mov edx, dword [ebp - 0x52c]
mov dl, byte [ebp + edx - 0x24c]
call fcn.00405460
mov eax, dword [ebp - 0x298c]
push eax
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0xc0
jne 0x597676
push 0x59d39c
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
xor eax, eax
mov dword [ebp - 0x52c], eax
lea eax, [ebp - 0x2990]
mov edx, dword [ebp - 0x52c]
mov dl, byte [ebp + edx - 0x4c]
call fcn.00405460
mov eax, dword [ebp - 0x2990]
push eax
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x20
jne 0x5976f6
mov al, byte [ebp - 0x24c]
and al, 0x3f
cmp al, 0x2f
jne 0x597815
cmp byte [ebp - 0x248], 0
jne 0x597815
cmp byte [ebp - 0x247], 0
jne 0x597815
cmp byte [ebp - 0x245], 1
jbe 0x597815
mov byte [ebp - 0x542], 0
xor eax, eax
mov al, byte [ebp - 0x244]
mov edx, dword [ebp - 0x29c]
mov dword [edx + 0x128], eax
xor eax, eax
mov al, byte [ebp - 0x243]
mov edx, dword [ebp - 0x29c]
mov dword [edx + 0x12c], eax
cmp byte [ebp - 0x245], 2
jbe 0x5977c5
xor eax, eax
mov al, byte [ebp - 0x242]
mov edx, dword [ebp - 0x29c]
mov dword [edx + 0x130], eax
lea eax, [ebp - 0x2998]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
mov eax, dword [ebp - 0x2998]
lea edx, [ebp - 0x2994]
call fcn.0040a0f8
mov edx, dword [ebp - 0x2994]
mov eax, 0x5992a0
call fcn.0040588c
test eax, eax
jle 0x597815
mov eax, dword [ebp - 0x29c]
mov byte [eax + 0xe2], 1
mov eax, dword [ebp - 0x29c]
mov byte [eax + 0xe3], 1
mov eax, 0xc685b4
xor ecx, ecx
mov edx, 0x200
call fcn.00403450
lea eax, [ebp - 0x298]
xor ecx, ecx
mov edx, 0x298
call fcn.00403450
mov word [ebp - 0x298], 0x2c
mov byte [ebp - 0x294], 1
mov byte [ebp - 0x292], 6
mov byte [ebp - 0x291], 0x18
mov byte [ebp - 0x290], 1
mov dword [ebp - 0x28c], 0xfc
mov dword [ebp - 0x288], 2
lea eax, [ebp - 0x24c]
lea edx, [ebp - 0x298]
sub eax, edx
mov dword [ebp - 0x284], eax
lea eax, [ebp - 0x26c]
lea edx, [ebp - 0x298]
sub eax, edx
mov dword [ebp - 0x280], eax
mov byte [ebp - 0x27c], 3
mov byte [ebp - 0x278], 0xfc
mov eax, dword [ebp - 0x284]
add eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x29c]
mov word [eax + 0x19c], 0
mov eax, dword [ebp - 0x29c]
mov byte [eax + 0x19e], 0
push 0
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x2a4]
push eax
lea eax, [ebp - 0x298]
push eax
push 0x2c
lea eax, [ebp - 0x298]
push eax
push 0x4d004
mov eax, dword [ebp - 0x2a8]
push eax
call sub.kernel32.dll_DeviceIoControl
test eax, eax
je 0x597c2b
imul eax, dword [ebp - 0x2ac], 0x97
lea edx, [eax + 0xc687b4]
lea eax, [ebp - 0x2a44]
call fcn.004032b0
mov edx, 0x59d3a8
lea eax, [ebp - 0x2a44]
mov cl, 0xa2
call fcn.00403280
lea edx, [ebp - 0x2a44]
lea eax, [ebp - 0x29a0]
call fcn.004054ec
push dword [ebp - 0x29a0]
push dword [ebp - 0x55c]
push dword [ebp - 0x560]
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x2a48]
call fcn.0040a928
push dword [ebp - 0x2a48]
push 0x59ac20
lea eax, [ebp - 0x299c]
mov edx, 3
call fcn.00405608
mov edx, dword [ebp - 0x299c]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
imul eax, dword [ebp - 0x2ac], 0x97
add eax, 0xc687b4
mov cl, 0x96
call fcn.004032bc
call fcn.0040d300
fstp qword [ebp - 0x560]
wait
push 0x59d3c0
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
xor eax, eax
mov dword [ebp - 0x52c], eax
lea eax, [ebp - 0x2a4c]
mov edx, dword [ebp - 0x52c]
mov dl, byte [ebp + edx - 0x26c]
call fcn.00405460
mov eax, dword [ebp - 0x2a4c]
push eax
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x20
jne 0x597a03
push 0x59d3d8
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
xor eax, eax
mov dword [ebp - 0x52c], eax
lea eax, [ebp - 0x2a50]
mov edx, dword [ebp - 0x52c]
mov dl, byte [ebp + edx - 0x24c]
call fcn.00405460
mov eax, dword [ebp - 0x2a50]
push eax
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0xc0
jne 0x597a80
push 0x59d3ec
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
xor eax, eax
mov dword [ebp - 0x52c], eax
lea eax, [ebp - 0x2a54]
mov edx, dword [ebp - 0x52c]
mov dl, byte [ebp + edx - 0x4c]
call fcn.00405460
mov eax, dword [ebp - 0x2a54]
push eax
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x20
jne 0x597b00
cmp byte [ebp - 0x24c], 0x70
jb 0x597b6b
cmp byte [ebp - 0x24c], 0x73
ja 0x597b6b
mov eax, dword [ebp - 0x29c]
mov byte [eax + 0x19e], 1
cmp byte [ebp - 0x240], 4
jne 0x597ba9
cmp byte [ebp - 0x23f], 9
jne 0x597ba9
cmp byte [ebp - 0x23d], 0x80
jne 0x597ba9
xor eax, eax
mov al, byte [ebp - 0x23c]
shl eax, 8
xor edx, edx
mov dl, byte [ebp - 0x23b]
add ax, dx
mov edx, dword [ebp - 0x29c]
mov word [edx + 0x19c], ax
cmp byte [ebp - 0x542], 0
je 0x597c2b
xor eax, eax
mov dword [ebp - 0x52c], eax
mov eax, dword [ebp - 0x52c]
cmp byte [ebp + eax - 0x24c], 0
je 0x597c1c
mov eax, dword [ebp - 0x29c]
xor edx, edx
mov dword [eax + 0x128], edx
mov eax, dword [ebp - 0x29c]
xor edx, edx
mov dword [eax + 0x12c], edx
mov al, byte [ebp - 0x24c]
and al, 0x7e
cmp al, 0x70
jne 0x597c2b
xor eax, eax
mov al, byte [ebp - 0x24a]
mov edx, dword [ebp - 0x29c]
mov dword [edx + 0x128], eax
xor eax, eax
mov al, byte [ebp - 0x249]
mov edx, dword [ebp - 0x29c]
mov dword [edx + 0x12c], eax
jmp 0x597c2b
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0xb
jne 0x597bba
lea ecx, [ebp - 0x2a58]
mov edx, dword [ebp - 0x29c]
mov edx, dword [edx + 0x12c]
mov eax, dword [ebp - 0x29c]
mov eax, dword [eax + 0x128]
call fcn.005a2408
mov edx, dword [ebp - 0x2a58]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
mov eax, dword [ebp - 0x29c]
add eax, 0xe4
mov cl, 0x40
call fcn.004032bc
mov byte [ebp - 0x507], 0
mov eax, 0xc685b4
xor ecx, ecx
mov edx, 0x200
call fcn.00403450
lea eax, [ebp - 0x298]
xor ecx, ecx
mov edx, 0x298
call fcn.00403450
mov word [ebp - 0x298], 0x2c
mov byte [ebp - 0x294], 1
mov byte [ebp - 0x292], 6
mov byte [ebp - 0x291], 0x18
mov byte [ebp - 0x290], 1
mov dword [ebp - 0x28c], 0xc0
mov eax, dword [ebp - 0x59c]
mov dword [ebp - 0x288], eax
lea eax, [ebp - 0x24c]
lea edx, [ebp - 0x298]
sub eax, edx
mov dword [ebp - 0x284], eax
lea eax, [ebp - 0x26c]
lea edx, [ebp - 0x298]
sub eax, edx
mov dword [ebp - 0x280], eax
mov byte [ebp - 0x27c], 0x12
mov byte [ebp - 0x27b], 1
mov byte [ebp - 0x27a], 0x86
mov byte [ebp - 0x278], 0xc0
mov eax, dword [ebp - 0x284]
add eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2a4], eax
push 0
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x2a4]
push eax
lea eax, [ebp - 0x298]
push eax
push 0x2c
lea eax, [ebp - 0x298]
push eax
push 0x4d004
mov eax, dword [ebp - 0x2a8]
push eax
call sub.kernel32.dll_DeviceIoControl
test eax, eax
je 0x597da3
xor eax, eax
mov dword [ebp - 0x52c], eax
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x52c]
mov ecx, dword [ebp - 0x52c]
mov cl, byte [ebp + ecx - 0x24c]
mov byte [eax + edx + 0x178], cl
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x10
jne 0x597d74
cmp byte [0x7ce39c], 0
je 0x597f82
mov eax, dword [ebp - 0x29c]
mov byte [eax + 0x3c8], 1
mov eax, dword [ebp - 0x29c]
mov al, byte [eax + 0x3c8]
call fcn.004a11e8
mov edx, eax
lea eax, [ebp - 0x2a60]
call fcn.00405460
mov ecx, dword [ebp - 0x2a60]
lea eax, [ebp - 0x2a5c]
mov edx, 0x59d400
call fcn.00405594
mov eax, dword [ebp - 0x2a5c]
call fcn.004c6770
xor ecx, ecx
mov dl, 4
mov eax, dword [ebp - 0x2a8]
call fcn.005b35f4
mov dword [ebp - 0x530], eax
mov al, byte [ebp - 0x530]
mov edx, dword [ebp - 0x29c]
mov byte [edx + 0x3c9], al
lea edx, [ebp - 0x2a68]
mov eax, dword [ebp - 0x29c]
movzx eax, byte [eax + 0x3c9]
call fcn.0040a83c
mov ecx, dword [ebp - 0x2a68]
lea eax, [ebp - 0x2a64]
mov edx, 0x59d428
call fcn.00405594
mov eax, dword [ebp - 0x2a64]
call fcn.004c6770
mov cx, 1
mov dl, 0x48
mov eax, dword [ebp - 0x2a8]
call fcn.005b35f4
mov dword [ebp - 0x530], eax
mov al, byte [ebp - 0x530]
mov edx, dword [ebp - 0x29c]
mov byte [edx + 0x3ca], al
lea edx, [ebp - 0x2a70]
mov eax, dword [ebp - 0x29c]
movzx eax, byte [eax + 0x3ca]
call fcn.0040a83c
mov ecx, dword [ebp - 0x2a70]
lea eax, [ebp - 0x2a6c]
mov edx, 0x59d458
call fcn.00405594
mov eax, dword [ebp - 0x2a6c]
call fcn.004c6770
mov cx, 2
mov dl, 0x48
mov eax, dword [ebp - 0x2a8]
call fcn.005b35f4
mov dword [ebp - 0x530], eax
mov al, byte [ebp - 0x530]
mov edx, dword [ebp - 0x29c]
mov byte [edx + 0x3cb], al
lea edx, [ebp - 0x2a78]
mov eax, dword [ebp - 0x29c]
movzx eax, byte [eax + 0x3cb]
call fcn.0040a83c
mov ecx, dword [ebp - 0x2a78]
lea eax, [ebp - 0x2a74]
mov edx, 0x59d48c
call fcn.00405594
mov eax, dword [ebp - 0x2a74]
call fcn.004c6770
mov cx, 3
mov dl, 0x48
mov eax, dword [ebp - 0x2a8]
call fcn.005b35f4
mov dword [ebp - 0x530], eax
mov al, byte [ebp - 0x530]
mov edx, dword [ebp - 0x29c]
mov byte [edx + 0x3cc], al
lea edx, [ebp - 0x2a80]
mov eax, dword [ebp - 0x29c]
movzx eax, byte [eax + 0x3cc]
call fcn.0040a83c
mov ecx, dword [ebp - 0x2a80]
lea eax, [ebp - 0x2a7c]
mov edx, 0x59d4c4
call fcn.00405594
mov eax, dword [ebp - 0x2a7c]
call fcn.004c6770
mov byte [ebp - 0x539], 0xa
mov eax, 0xc685b4
xor ecx, ecx
mov edx, 0x200
call fcn.00403450
lea eax, [ebp - 0x298]
xor ecx, ecx
mov edx, 0x298
call fcn.00403450
mov word [ebp - 0x298], 0x2c
mov byte [ebp - 0x294], 1
mov byte [ebp - 0x292], 0xa
mov byte [ebp - 0x291], 0x18
mov byte [ebp - 0x290], 1
mov dword [ebp - 0x28c], 0xfc
mov dword [ebp - 0x288], 2
lea eax, [ebp - 0x24c]
lea edx, [ebp - 0x298]
sub eax, edx
mov dword [ebp - 0x284], eax
lea eax, [ebp - 0x26c]
lea edx, [ebp - 0x298]
sub eax, edx
mov dword [ebp - 0x280], eax
mov byte [ebp - 0x27c], 0x5a
mov byte [ebp - 0x27a], 0xa
mov byte [ebp - 0x275], 0
mov byte [ebp - 0x274], 0xfc
mov eax, dword [ebp - 0x284]
add eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2a4], eax
push 0
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x2a4]
push eax
lea eax, [ebp - 0x298]
push eax
push 0x2c
lea eax, [ebp - 0x298]
push eax
push 0x4d004
mov eax, dword [ebp - 0x2a8]
push eax
call sub.kernel32.dll_DeviceIoControl
test eax, eax
je 0x598183
xor eax, eax
mov dword [ebp - 0x550], eax
mov dword [ebp - 0x548], 0xff
xor eax, eax
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x530], 2
mov eax, dword [ebp - 0x530]
cmp byte [ebp + eax - 0x24c], 0
je 0x598170
mov al, byte [ebp - 0x539]
sub al, 0xa
jne 0x5980fe
xor eax, eax
mov al, byte [ebp - 0x24c]
shl eax, 8
xor edx, edx
mov dl, byte [ebp - 0x24b]
add eax, edx
add eax, 2
mov dword [ebp - 0x548], eax
xor eax, eax
mov al, byte [ebp - 0x246]
shl eax, 8
xor edx, edx
mov dl, byte [ebp - 0x245]
add eax, edx
mov dword [ebp - 0x54c], eax
mov eax, dword [ebp - 0x54c]
add eax, 8
mov dword [ebp - 0x550], eax
cmp dword [ebp - 0x548], 0x32
jge 0x598170
cmp dword [ebp - 0x54c], 0
jle 0x598170
mov eax, dword [ebp - 0x550]
add eax, 2
cmp eax, 0x200
jge 0x598170
mov eax, dword [ebp - 0x550]
add eax, 0xb
cmp eax, dword [ebp - 0x548]
jge 0x598170
xor eax, eax
mov dword [ebp - 0x52c], eax
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x52c]
mov ecx, dword [ebp - 0x550]
add ecx, dword [ebp - 0x52c]
mov cl, byte [ebp + ecx - 0x24c]
mov byte [eax + edx + 0x188], cl
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0xc
jne 0x598139
jmp 0x598183
inc dword [ebp - 0x530]
cmp dword [ebp - 0x530], 0xb
jne 0x598098
mov eax, dword [ebp - 0x29c]
xor edx, edx
mov dword [eax + 0x198], edx
mov eax, dword [ebp - 0x29c]
mov al, byte [eax + 0x188]
and al, 0x7f
cmp al, 0xa
jne 0x5981e4
mov eax, dword [ebp - 0x29c]
cmp byte [eax + 0x189], 0xa
jne 0x5981e4
mov eax, dword [ebp - 0x29c]
movzx eax, byte [eax + 0x192]
shl eax, 8
mov edx, dword [ebp - 0x29c]
movzx edx, byte [edx + 0x193]
add eax, edx
mov edx, dword [ebp - 0x29c]
mov dword [edx + 0x198], eax
mov byte [ebp - 0x507], 1
mov eax, dword [ebp - 0x29c]
mov al, byte [eax + 0x19e]
and al, byte [ebp - 0x507]
mov edx, dword [ebp - 0x29c]
mov byte [edx + 0x19e], al
mov eax, dword [ebp - 0x29c]
mov byte [eax + 0x163], 0
mov eax, dword [ebp - 0x29c]
cmp byte [eax + 0x134], 0
je 0x5983e5
mov dword [ebp - 0x52c], 1
cmp dword [ebp - 0x52c], 1
je 0x5983d2
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x52c]
cmp byte [eax + edx + 0x134], 0
je 0x5983d2
lea eax, [ebp - 0x5c8]
xor ecx, ecx
mov edx, 0x10
call fcn.00403450
mov byte [ebp - 0x5c8], 0x4d
mov al, byte [ebp - 0x52c]
add al, 0x40
mov byte [ebp - 0x5c6], al
mov byte [ebp - 0x5c1], 0
mov byte [ebp - 0x5c0], 0xfc
push ebp
lea ecx, [ebp - 0x2a88]
mov edx, 2
mov eax, dword [ebp - 0x52c]
call fcn.0040a950
mov ecx, dword [ebp - 0x2a88]
lea eax, [ebp - 0x2a84]
mov edx, 0x59d4fc
call fcn.00405594
mov eax, dword [ebp - 0x2a84]
lea edx, [ebp - 0x5c8]
call fcn.00582ee4
pop ecx
test al, al
je 0x5982ea
xor eax, eax
mov al, byte [ebp - 0x24c]
cmp eax, dword [ebp - 0x52c]
jne 0x5982ea
push ebp
xor edx, edx
mov eax, dword [ebp - 0x52c]
call fcn.00583834
pop ecx
imul eax, dword [ebp - 0x2ac], 0x97
lea edx, [eax + 0xc687b4]
lea eax, [ebp - 0x2520]
call fcn.004032b0
mov edx, 0x59d508
lea eax, [ebp - 0x2520]
mov cl, 0x9b
call fcn.00403280
lea edx, [ebp - 0x2520]
lea eax, [ebp - 0x2a90]
call fcn.004054ec
push dword [ebp - 0x2a90]
lea ecx, [ebp - 0x2a94]
mov edx, 2
mov eax, dword [ebp - 0x52c]
call fcn.0040a950
push dword [ebp - 0x2a94]
push 0x59ca54
push dword [ebp - 0x55c]
push dword [ebp - 0x560]
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x2a98]
call fcn.0040a928
push dword [ebp - 0x2a98]
push 0x59ac20
lea eax, [ebp - 0x2a8c]
mov edx, 5
call fcn.00405608
mov edx, dword [ebp - 0x2a8c]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
imul eax, dword [ebp - 0x2ac], 0x97
add eax, 0xc687b4
mov cl, 0x96
call fcn.004032bc
call fcn.0040d300
fstp qword [ebp - 0x560]
wait
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x40
jne 0x59822c
mov eax, dword [ebp - 0x29c]
cmp byte [eax + 0x134], 0
je 0x5985af
mov dword [ebp - 0x52c], 1
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x52c]
cmp byte [eax + edx + 0x134], 0
je 0x59859c
lea eax, [ebp - 0x5c8]
xor ecx, ecx
mov edx, 0x10
call fcn.00403450
mov byte [ebp - 0x5c8], 0x4d
mov al, byte [ebp - 0x52c]
mov byte [ebp - 0x5c6], al
mov byte [ebp - 0x5c1], 0
mov byte [ebp - 0x5c0], 0xfc
push ebp
lea ecx, [ebp - 0x2aa0]
mov edx, 2
mov eax, dword [ebp - 0x52c]
call fcn.0040a950
mov ecx, dword [ebp - 0x2aa0]
lea eax, [ebp - 0x2a9c]
mov edx, 0x59d4fc
call fcn.00405594
mov eax, dword [ebp - 0x2a9c]
lea edx, [ebp - 0x5c8]
call fcn.00582ee4
pop ecx
test al, al
je 0x5984b4
xor eax, eax
mov al, byte [ebp - 0x24c]
cmp eax, dword [ebp - 0x52c]
jne 0x5984b4
push ebp
mov edx, 1
mov eax, dword [ebp - 0x52c]
call fcn.00583834
pop ecx
imul eax, dword [ebp - 0x2ac], 0x97
lea edx, [eax + 0xc687b4]
lea eax, [ebp - 0x2520]
call fcn.004032b0
mov edx, 0x59d510
lea eax, [ebp - 0x2520]
mov cl, 0x9b
call fcn.00403280
lea edx, [ebp - 0x2520]
lea eax, [ebp - 0x2aa8]
call fcn.004054ec
push dword [ebp - 0x2aa8]
lea ecx, [ebp - 0x2aac]
mov edx, 2
mov eax, dword [ebp - 0x52c]
call fcn.0040a950
push dword [ebp - 0x2aac]
push 0x59ca54
push dword [ebp - 0x55c]
push dword [ebp - 0x560]
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x2ab0]
call fcn.0040a928
push dword [ebp - 0x2ab0]
push 0x59ac20
lea eax, [ebp - 0x2aa4]
mov edx, 5
call fcn.00405608
mov edx, dword [ebp - 0x2aa4]
lea eax, [ebp - 0xb6c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xb6c]
imul eax, dword [ebp - 0x2ac], 0x97
add eax, 0xc687b4
mov cl, 0x96
call fcn.004032bc
call fcn.0040d300
fstp qword [ebp - 0x560]
wait
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x40
jne 0x598402
mov eax, dword [ebp - 0x29c]
mov eax, dword [eax + 0x2af8]
dec eax
mov dword [ebp - 0x530], eax
cmp dword [ebp - 0x530], 0x2711
jge 0x59860a
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x530]
cmp byte [eax + edx + 0x3e4], 0x2c
jne 0x59860a
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x530]
mov byte [eax + edx + 0x3e4], 0
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x530]
mov dword [eax + 0x2af8], edx
mov eax, dword [ebp - 0x29c]
mov eax, dword [eax + 0x5210]
dec eax
mov dword [ebp - 0x530], eax
cmp dword [ebp - 0x530], 0x2711
jge 0x598665
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x530]
cmp byte [eax + edx + 0x2afc], 0x2c
jne 0x598665
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x530]
mov byte [eax + edx + 0x2afc], 0
mov eax, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x530]
mov dword [eax + 0x5210], edx
mov eax, dword [ebp - 0x29c]
cmp dword [eax + 0x130], 0xff
jne 0x598687
mov eax, dword [ebp - 0x29c]
mov dword [eax + 0x130], 0xffffffff
mov eax, dword [ebp - 0x29c]
cmp dword [eax + 0x130], 0
jg 0x5987fa
lea eax, [ebp - 0x2ab4]
mov edx, dword [ebp - 0x29c]
add edx, 0x3e4
mov ecx, 0x2711
call fcn.004054f8
mov eax, dword [ebp - 0x2ab4]
mov dl, 0x2c
call fcn.0049c09c
test eax, eax
jle 0x5987fa
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x530], 1
lea eax, [ebp - 0x4d4]
push eax
lea eax, [ebp - 0x2ab8]
mov edx, dword [ebp - 0x29c]
add edx, 0x3e4
mov ecx, 0x2711
call fcn.004054f8
mov eax, dword [ebp - 0x2ab8]
mov cl, 0x2c
mov edx, dword [ebp - 0x530]
call fcn.0049c118
lea eax, [ebp - 0x2ac0]
push eax
mov ecx, 7
mov edx, 1
mov eax, dword [ebp - 0x4d4]
call fcn.004057a8
mov eax, dword [ebp - 0x2ac0]
lea edx, [ebp - 0x2abc]
call fcn.0040a0f8
mov eax, dword [ebp - 0x2abc]
mov edx, 0x59d520
call fcn.00405694
jne 0x5987e8
mov edx, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x4d4]
call fcn.005a2dc4
mov byte [ebp - 0x540], al
mov al, byte [ebp - 0x540]
push eax
push 0
lea ecx, [ebp - 0x4dc]
lea edx, [ebp - 0x4d8]
mov eax, dword [ebp - 0x4d4]
call fcn.005a2560
cmp dword [ebp - 0x4dc], 0
je 0x5987e8
lea edx, [ebp - 0x52c]
mov eax, dword [ebp - 0x4dc]
call fcn.004038a0
mov edx, dword [ebp - 0x29c]
mov dword [edx + 0x130], eax
mov eax, dword [ebp - 0x29c]
cmp dword [eax + 0x130], 0
jle 0x5987d8
inc dword [ebp - 0x530]
dec dword [ebp - 0x5b0]
jne 0x5986db
mov eax, dword [ebp - 0x29c]
cmp dword [eax + 0x130], 0xff
jne 0x59881c
mov eax, dword [ebp - 0x29c]
mov dword [eax + 0x130], 0xffffffff
mov eax, dword [ebp - 0x29c]
mov al, byte [eax + 0xdf]
and al, 0x1f
cmp al, 1
jne 0x59889e
mov eax, dword [ebp - 0x29c]
cmp dword [eax + 0x130], 0
jge 0x59889e
push 0x59d530
lea edx, [ebp - 0x2ac8]
mov eax, dword [ebp - 0x29c]
movzx eax, byte [eax + 0xdf]
call fcn.0040a83c
push dword [ebp - 0x2ac8]
push 0x5990e8
lea eax, [ebp - 0x2acc]
mov edx, dword [ebp - 0x29c]
call fcn.004054ec
push dword [ebp - 0x2acc]
lea eax, [ebp - 0x2ac4]
mov edx, 4
call fcn.00405608
mov eax, dword [ebp - 0x2ac4]
call fcn.004c6770
push ebp
call fcn.00584ab8
pop ecx
mov eax, dword [ebp - 0x29c]
test byte [eax + 0xdf], 0x1f
jne 0x598950
mov eax, dword [ebp - 0x29c]
cmp dword [eax + 0x2af8], 0x64
jle 0x598950
mov eax, dword [ebp - 0x29c]
cmp byte [eax + 0x2f], 2
jae 0x598a53
cmp byte [ebp - 0x5a5], 0
jne 0x598b1d
mov eax, dword [ebp - 0x2ac]
call fcn.005b8404
test al, al
je 0x598b1d
mov byte [ebp - 0x5a5], 3
mov byte [ebp - 0x4c1], 1
mov eax, 0x59d578
call fcn.004c6770
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x598b3b
cmp dword [ebp - 0x2a8], 0xffffffff
je 0x598b50
mov eax, dword [ebp - 0x2a8]
push eax
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
mov dword [ebp - 0x52c], eax
push 0x59d1e4
mov ecx, dword [ebp - 0x29c]
add ecx, 0x5600
mov eax, dword [ebp - 0x29c]
add eax, 0x5214
mov edx, 0x3e8
call fcn.004a1208
inc dword [ebp - 0x52c]
cmp dword [ebp - 0x52c], 0x10
jne 0x598b58
mov eax, 0x59d58c
call fcn.0049d570
test al, al
je 0x598c4f
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x59d598
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x29c]
lea edi, [eax + 0x2f]
mov esi, 0x59d5b0
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [ebp - 0x29c]
lea edi, [eax + 0x1a]
mov esi, 0x59d5b0
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [ebp - 0x29c]
lea edi, [eax + 0x3e4]
mov esi, 0x59d5b8
mov ecx, 0x9c4
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x59fccc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x29c]
mov edi, eax
mov esi, 0x59fce0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x29c]
lea edi, [eax + 0x2f]
mov esi, 0x59d5b0
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [ebp - 0x29c]
lea edi, [eax + 0x1a]
mov esi, 0x59d5b0
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [ebp - 0x29c]
lea edi, [eax + 0x3e4]
mov esi, 0x59fcf4
mov ecx, 0x9c4
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x598f97
lea eax, [ebp - 0x2ae0]
mov edx, 0x27
call fcn.0040529c
lea eax, [ebp - 0x29a0]
mov edx, 8
call fcn.0040529c
lea eax, [ebp - 0x28d4]
mov edx, 8
call fcn.0040529c
lea eax, [ebp - 0x280c]
mov edx, 0x10
call fcn.0040529c
lea eax, [ebp - 0x272c]
mov edx, 0x1d
call fcn.0040529c
lea eax, [ebp - 0x26b8]
mov edx, 0x1b
call fcn.0040529c
lea eax, [ebp - 0x2630]
mov edx, 0x44
call fcn.0040529c
lea eax, [ebp - 0x2484]
mov edx, 4
call fcn.0040529c
lea eax, [ebp - 0x2470]
call fcn.00405278
lea eax, [ebp - 0x2474]
call fcn.00405278
lea eax, [ebp - 0x246c]
mov edx, 6
call fcn.0040529c
lea eax, [ebp - 0x23b4]
mov edx, 0x1e
call fcn.0040529c
lea eax, [ebp - 0x22ac]
mov edx, 0xd
call fcn.0040529c
lea eax, [ebp - 0x21d8]
mov edx, 0x32
call fcn.0040529c
lea eax, [ebp - 0x2110]
mov edx, 0xf
call fcn.0040529c
lea eax, [ebp - 0x2078]
mov edx, 0x4a
call fcn.0040529c
lea eax, [ebp - 0x1eac]
mov edx, 2
call fcn.0040529c
lea eax, [ebp - 0x1e80]
call fcn.00405278
lea eax, [ebp - 0x1e58]
call fcn.00405278
lea eax, [ebp - 0x1e14]
mov edx, 6
call fcn.0040529c
lea eax, [ebp - 0x1df8]
call fcn.00405278
lea eax, [ebp - 0x1dfc]
call fcn.00405278
lea eax, [ebp - 0x1df4]
call fcn.00405278
lea eax, [ebp - 0x1d68]
mov edx, 3
call fcn.0040529c
lea eax, [ebp - 0x1d44]
mov edx, 0x1b
call fcn.0040529c
lea eax, [ebp - 0x1c54]
mov edx, 0x28
call fcn.0040529c
lea eax, [ebp - 0x1b2c]
mov edx, 0xe
call fcn.0040529c
lea eax, [ebp - 0x1a80]
mov edx, 0xe
call fcn.0040529c
lea eax, [ebp - 0x1a48]
mov edx, 0x64
call fcn.0040529c
lea eax, [ebp - 0x18b8]
mov edx, 0x64
call fcn.0040529c
lea eax, [ebp - 0x1728]
mov edx, 0x1a
call fcn.0040529c
lea eax, [ebp - 0x16a0]
mov edx, 0x12
call fcn.0040529c
lea eax, [ebp - 0x1630]
mov edx, 4
call fcn.0040529c
lea eax, [ebp - 0x15f4]
mov edx, 0x1b
call fcn.0040529c
lea eax, [ebp - 0x1494]
mov edx, 0xd
call fcn.0040529c
lea eax, [ebp - 0x1414]
mov edx, 0xb
call fcn.0040529c
lea eax, [ebp - 0x13a0]
call fcn.00405278
lea eax, [ebp - 0x139c]
mov edx, 0x2e
call fcn.0040529c
lea eax, [ebp - 0x119c]
mov edx, 0xf
call fcn.0040529c
lea eax, [ebp - 0x1094]
mov edx, 6
call fcn.0040529c
lea eax, [ebp - 0x102c]
mov edx, 8
call fcn.0040529c
lea eax, [ebp - 0xfe4]
mov edx, 0xd
call fcn.0040529c
lea eax, [ebp - 0xf0c]
mov edx, 5
call fcn.0040529c
lea eax, [ebp - 0xe6c]
mov edx, 5
call fcn.0040529c
lea eax, [ebp - 0xde4]
call fcn.00405278
lea eax, [ebp - 0xddc]
call fcn.00405278
lea eax, [ebp - 0xde0]
call fcn.00405278
lea eax, [ebp - 0xdd8]
call fcn.00405278
lea eax, [ebp - 0xdb8]
call fcn.00405278
lea eax, [ebp - 0xdb0]
mov edx, 0xd
call fcn.0040529c
lea eax, [ebp - 0xc20]
mov edx, 5
call fcn.0040529c
lea eax, [ebp - 0xb70]
call fcn.00405278
lea eax, [ebp - 0xa6c]
mov edx, 3
call fcn.0040529c
lea eax, [ebp - 0x5a4]
call fcn.00405278
lea eax, [ebp - 0x500]
mov edx, 0xf
call fcn.0040529c
lea eax, [ebp - 0x4bc]
call fcn.00405278
ret