Function at 0x5f20c4
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x43d
push 0
push 0
dec ecx
jne 0x5f20cd
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov byte [ebp - 9], cl
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5fa930
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 4], 0x64
jl 0x5f2113
mov eax, dword [0x89285c]
cmp dword [eax], 0x32
jge 0x5f2113
mov eax, dword [ebp + 8]
mov edx, 0x5fa94c
call fcn.004052e0
jmp 0x5fa6de
mov eax, dword [ebp - 4]
lea eax, [eax + eax*4]
mov edx, dword [0x893588]
cmp byte [edx + eax*2], 0
jne 0x5f2600
lea edx, [ebp - 0x908]
mov eax, dword [ebp - 4]
call fcn.0040a78c
mov ecx, dword [ebp - 0x908]
lea eax, [ebp - 0x904]
mov edx, 0x5fa95c
call fcn.00405598
mov eax, dword [ebp - 0x904]
call fcn.004c938c
lea eax, [ebp - 0x44]
call fcn.0040528c
cmp dword [ebp + 0xc], 0
setl byte [ebp - 0xb5]
mov eax, dword [ebp + 0xc]
cdq
xor eax, edx
sub eax, edx
mov dword [ebp + 0xc], eax
lea eax, [ebp - 0x98c]
push eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov ecx, 4
mov edx, 1
call fcn.004029c0
lea eax, [ebp - 0x98c]
mov edx, 0x5fa96c
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00403370
jne 0x5f21b9
cmp byte [ebp - 9], 0
je 0x5f21bd
xor eax, eax
jmp 0x5f21bf
mov al, 1
mov byte [ebp - 0x91], al
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
mov eax, 0x5fa974
call fcn.00402c6c
test eax, eax
jle 0x5f21f4
mov eax, dword [ebp + 8]
mov edx, 0x5fa988
call fcn.004052e0
jmp 0x5fa6de
lea eax, [ebp - 0x98c]
push eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov ecx, 5
mov edx, 1
call fcn.004029c0
lea eax, [ebp - 0x98c]
mov edx, 0x5fa994
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00403370
jne 0x5f2243
mov eax, dword [ebp + 8]
mov edx, 0x5fa9a4
call fcn.004052e0
jmp 0x5fa6de
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
mov eax, 0x5fa9ac
call fcn.00402c6c
test eax, eax
jle 0x5f2295
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 4]
push dword [eax + edx*8 + 4]
push dword [eax + edx*8]
call fcn.0049b708
cmp edx, 0
jne 0x5f228c
cmp eax, 0x14
jae 0x5f2295
jmp 0x5f228e
jge 0x5f2295
mov byte [ebp - 0x91], 1
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax], 0
je 0x5f25f3
lea edx, [ebp - 0x994]
mov eax, dword [ebp - 4]
call fcn.00572368
mov ecx, dword [ebp - 0x994]
lea eax, [ebp - 0x990]
mov edx, 0x5fa9c4
call fcn.00405598
mov eax, dword [ebp - 0x990]
call fcn.004c938c
lea eax, [ebp - 0x99c]
imul edx, dword [ebp - 4], 0x65
mov ecx, dword [0x8922ac]
lea edx, [ecx + edx]
call fcn.004054f0
mov eax, dword [ebp - 0x99c]
lea edx, [ebp - 0x998]
call fcn.0040a298
cmp dword [ebp - 0x998], 0
jne 0x5f234e
lea edx, [ebp - 0xaa0]
mov eax, dword [ebp - 4]
call fcn.00572368
mov edx, dword [ebp - 0xaa0]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x8922ac]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 4]
push dword [eax + edx*8 + 4]
push dword [eax + edx*8]
call fcn.0049b708
cmp edx, 0
jne 0x5f237a
cmp eax, 0x14
jae 0x5f2383
jmp 0x5f237c
jge 0x5f2383
mov byte [ebp - 0x91], 1
mov eax, 0x5fa9d8
call fcn.004be23c
test al, al
je 0x5f2398
mov byte [ebp - 0x91], 0
cmp byte [ebp - 0x91], 0
jne 0x5f25f3
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax + 4], 0xb
jne 0x5f2407
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp word [edx + eax + 0xd], 0x270f
jne 0x5f2407
mov eax, dword [ebp - 4]
call fcn.0057fd10
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a80
mov eax, dword [ebp + 8]
call fcn.0040528c
jmp 0x5fa6de
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax + 4], 0x1d
jne 0x5f2482
mov eax, dword [ebp - 4]
call fcn.0055ed0c
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
mov cl, byte [ebp - 4]
mov byte [edx + eax*2 + 0xc61], cl
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea edi, [edx + eax*2 + 0xc6d]
mov esi, 0x5fa9e8
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a80
mov eax, dword [ebp + 8]
call fcn.0040528c
jmp 0x5fa6de
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax + 4], 0x1e
jne 0x5f24fd
mov eax, dword [ebp - 4]
call fcn.0055f858
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
mov cl, byte [ebp - 4]
mov byte [edx + eax*2 + 0xc61], cl
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea edi, [edx + eax*2 + 0xc6d]
mov esi, 0x5fa9e8
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a80
mov eax, dword [ebp + 8]
call fcn.0040528c
jmp 0x5fa6de
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax + 4], 0x20
jne 0x5f2578
mov eax, dword [ebp - 4]
call fcn.00560f48
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
mov cl, byte [ebp - 4]
mov byte [edx + eax*2 + 0xc61], cl
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea edi, [edx + eax*2 + 0xc6d]
mov esi, 0x5fa9e8
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a80
mov eax, dword [ebp + 8]
call fcn.0040528c
jmp 0x5fa6de
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax + 4], 0x22
jne 0x5f25f3
mov eax, dword [ebp - 4]
call fcn.0054c680
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
mov cl, byte [ebp - 4]
mov byte [edx + eax*2 + 0xc61], cl
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea edi, [edx + eax*2 + 0xc6d]
mov esi, 0x5fa9e8
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a80
mov eax, dword [ebp + 8]
call fcn.0040528c
jmp 0x5fa6de
cmp byte [ebp - 0x91], 0
je 0x5f2728
mov eax, 0x5fa9f8
call fcn.004c938c
mov eax, dword [ebp - 4]
cmp dword [eax*4 + 0x13b4254], 0
jne 0x5f2647
push 0
push 0x100000
push 1
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.005fd338
call fcn.0040630c
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jle 0x5f2647
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
mov dword [eax*4 + 0x13b4254], edx
mov eax, dword [0x89254c]
mov edx, dword [ebp - 4]
cmp byte [eax + edx], 0
je 0x5f268d
mov eax, dword [ebp - 8]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403464
mov eax, dword [ebp - 8]
lea edi, [eax + 0xc6d]
mov esi, 0x5fa9e8
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov al, byte [ebp - 4]
mov edx, dword [ebp - 8]
mov byte [edx + 0xc61], al
mov eax, dword [ebp + 8]
call fcn.0040528c
jmp 0x5fa6de
mov eax, dword [ebp + 8]
call fcn.0040528c
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
mov eax, 0x5fa9ac
call fcn.00402c6c
test eax, eax
jle 0x5f26ca
mov eax, dword [ebp + 8]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
mov ecx, dword [ebp - 8]
lea esi, [edx + eax*2]
mov edi, ecx
mov ecx, 0x328
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [ebp - 8]
cmp byte [eax + 1], 0
je 0x5fa6de
mov eax, dword [ebp - 8]
add eax, 0xc6d
mov edx, 0x5fa9e8
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00403370
jne 0x5fa6de
mov eax, dword [ebp - 8]
lea edi, [eax + 0xc6d]
mov esi, 0x5faa00
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x5fa6de
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
mov eax, 0x5faa04
call fcn.00402c6c
test eax, eax
jle 0x5f27a7
mov eax, 0x5faa14
call fcn.004c938c
call fcn.0051ca60
mov eax, 0x5faa28
call fcn.004c938c
mov eax, dword [ebp - 8]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403464
mov eax, dword [ebp - 4]
call fcn.0052f3f8
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a80
mov eax, dword [ebp - 4]
call fcn.00507208
mov eax, dword [ebp + 8]
call fcn.0040528c
jmp 0x5fa6de
imul eax, dword [ebp - 4], 0x9f
mov edx, dword [0x892eb0]
cmp dword [edx + eax*2], 1
jl 0x5f27f2
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 4]
call fcn.00503a44
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a80
mov eax, dword [ebp + 8]
call fcn.0040528c
jmp 0x5fa6de
mov eax, dword [0x89283c]
cmp byte [eax], 0
je 0x5f283c
call fcn.00504124
test eax, eax
jle 0x5f283c
mov eax, dword [0x89285c]
mov eax, dword [eax]
dec eax
cmp eax, dword [ebp - 4]
jne 0x5f283c
imul eax, dword [ebp - 4], 0x9f
mov edx, dword [0x892eb0]
cmp dword [edx + eax*2], 0
jg 0x5f283c
call fcn.00504138
test eax, eax
jne 0x5f283c
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 4]
call fcn.00503a44
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
mov eax, dword [0x893580]
cmp dword [eax], 2
je 0x5f286e
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
cmp byte [eax*2 + 0x13b5608], 0
jne 0x5f286e
mov eax, dword [ebp + 8]
mov edx, 0x5faa3c
call fcn.004052e0
jmp 0x5fa6de
cmp dword [ebp + 0xc], 0
jle 0x5f2890
imul eax, dword [ebp - 4], 0xc9
mov byte [eax + 0x13a85e4], 0
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
mov byte [edx + eax], 0
call fcn.0040d398
fstp qword [ebp - 0x80]
wait
call fcn.0040d398
fstp qword [ebp - 0x78]
wait
mov dword [ebp - 0x10], 0xfffffc18
cmp byte [ebp - 0xb5], 0
jne 0x5f28db
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
imul ecx, dword [ebp - 4], 0x651
mov ebx, dword [0x892404]
lea esi, [edx + eax*2]
lea edi, [ebx + ecx*2]
mov ecx, 0x328
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0xaa8]
mov eax, dword [ebp - 4]
call fcn.0040a78c
mov ecx, dword [ebp - 0xaa8]
lea eax, [ebp - 0xaa4]
mov edx, 0x5faa48
call fcn.00405598
mov eax, dword [ebp - 0xaa4]
call fcn.004c938c
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.005f1b84
lea edx, [ebp - 0xab0]
mov eax, dword [ebp - 4]
call fcn.0040a78c
mov ecx, dword [ebp - 0xab0]
lea eax, [ebp - 0xaac]
mov edx, 0x5faa5c
call fcn.00405598
mov eax, dword [ebp - 0xaac]
call fcn.004c938c
mov byte [ebp - 0xb6], 0
mov eax, dword [0x89254c]
mov edx, dword [ebp - 4]
cmp byte [eax + edx], 0
jne 0x5f298c
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x8922ac]
add edx, eax
mov eax, 0x5fa9e8
call fcn.00402c6c
test eax, eax
jle 0x5f29ba
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x8922ac]
add edx, eax
mov eax, 0x5faa68
call fcn.00402c6c
test eax, eax
jle 0x5f29ba
imul eax, dword [ebp - 4], 0xafc
mov edx, dword [0x892558]
cmp byte [edx + eax*8], 4
jbe 0x5f29ba
imul eax, dword [ebp - 4], 0xafc
mov edx, dword [0x892558]
cmp byte [edx + eax*8 + 0x2f], 4
jbe 0x5f29ba
mov byte [ebp - 0xb6], 1
mov eax, dword [ebp + 8]
mov edx, 0x5faa74
call fcn.004052e0
lea eax, [ebp - 0x50]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
lea eax, [ebp - 0xa9c]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
mov eax, dword [ebp - 8]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403464
imul eax, dword [ebp - 4], 0xafc
mov edx, dword [0x892558]
mov byte [edx + eax*8 + 0x19f], 0
imul eax, dword [ebp - 4], 0xafc
mov edx, dword [0x892558]
mov byte [edx + eax*8 + 0x1e6], 0
imul eax, dword [ebp - 4], 0xafc
mov edx, dword [0x892558]
mov byte [edx + eax*8 + 0x22d], 0
imul eax, dword [ebp - 4], 0xafc
mov edx, dword [0x892558]
mov byte [edx + eax*8 + 0x274], 0
imul eax, dword [ebp - 4], 0xafc
mov edx, dword [0x892558]
mov byte [edx + eax*8 + 0x2bb], 0
imul eax, dword [ebp - 4], 0xafc
mov edx, dword [0x892558]
mov byte [edx + eax*8 + 0x302], 0
xor eax, eax
mov dword [ebp - 0x90], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0xb0]
call fcn.0040528c
xor eax, eax
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x2d], 0
xor eax, eax
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 4], 0
jl 0x5f9de7
cmp dword [ebp - 4], 0xef
jg 0x5f9de7
mov eax, dword [ebp - 8]
mov byte [eax + 0xc6d], 0
mov eax, dword [0x89254c]
mov edx, dword [ebp - 0x18]
mov byte [eax + edx], 0
mov eax, dword [0x893580]
cmp dword [eax], 2
jne 0x5f2bef
mov dword [ebp - 0xa8], 3
mov eax, 0x5faa80
call fcn.004be23c
test al, al
je 0x5f2b2d
cmp dword [ebp - 0x18], 0
je 0x5f2b26
cmp dword [ebp - 0x18], 7
jne 0x5f2b2d
mov dword [ebp - 0x18], 0xc8
cmp dword [ebp - 0x2c], 0
jne 0x5f2c0e
mov edx, dword [ebp - 0x50]
mov eax, 0x5faa90
call fcn.00405890
test eax, eax
jle 0x5f2b9c
mov eax, dword [0x89254c]
mov edx, dword [ebp - 0x18]
mov byte [eax + edx], 1
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 0x50]
call fcn.005f1fe0
push 0
push 0
push 3
push 0
mov eax, dword [ebp - 0xa8]
push eax
push 0xc0000000
lea eax, [ebp - 0xab4]
mov ecx, dword [ebp - 0x54]
mov edx, 0x5faaa0
call fcn.00405598
mov eax, dword [ebp - 0xab4]
call fcn.0040574c
push eax
call sub.kernel32.dll_CreateFileA_1
mov dword [ebp - 0x2c], eax
jmp 0x5f2c0e
push 0
push 0
push 3
push 0
mov eax, dword [ebp - 0xa8]
push eax
push 0xc0000000
mov eax, dword [ebp - 0x18]
call fcn.005dbe4c
lea edx, [ebp - 0xabc]
call fcn.0040a78c
mov ecx, dword [ebp - 0xabc]
lea eax, [ebp - 0xab8]
mov edx, 0x5faab0
call fcn.00405598
mov eax, dword [ebp - 0xab8]
call fcn.0040574c
push eax
call sub.kernel32.dll_CreateFileA_1
mov dword [ebp - 0x2c], eax
jmp 0x5f2c0e
cmp dword [ebp - 0x2c], 0
jne 0x5f2c0e
push 0
push 0
push 1
push 0
push 0
push 0
push 0x5faac4
call sub.kernel32.dll_CreateFileA_1
mov dword [ebp - 0x2c], eax
push 0x5faadc
mov eax, dword [ebp - 0x2c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0xac0]
call fcn.0040a878
push dword [ebp - 0xac0]
push 0x5faae8
mov eax, dword [ebp + 8]
mov edx, 3
call fcn.0040560c
lea eax, [ebp - 0xac4]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
lea eax, [ebp - 0xac4]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405554
mov edx, dword [ebp - 0xac4]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
cmp byte [0x889fb0], 2
jae 0x5f2cc0
cmp dword [ebp - 4], 1
jne 0x5f2cc0
cmp dword [ebp - 0x2c], 0xffffffff
je 0x5f2cc0
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
mov dword [ebp - 0x2c], 0xffffffff
cmp dword [ebp - 0x2c], 0xffffffff
je 0x5f9970
mov eax, dword [0x893580]
cmp dword [eax], 2
jne 0x5f3678
mov edx, dword [ebp - 0x50]
mov eax, 0x5faa90
call fcn.00405890
test eax, eax
jg 0x5f547e
mov eax, dword [ebp - 4]
cmp byte [eax + 0x13b5ba8], 0xff
sete byte [ebp - 0x92]
lea eax, [ebp - 0xac8]
push eax
mov ecx, 4
mov edx, 1
mov eax, dword [ebp - 0x50]
call fcn.004057ac
mov eax, dword [ebp - 0xac8]
mov edx, 0x5faaf4
call fcn.00405698
je 0x5f2d30
mov byte [ebp - 0x92], 1
push 0x5fab04
lea edx, [ebp - 0xad0]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0xad0]
push 0x5fab20
lea edx, [ebp - 0xad4]
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x13b5ba8]
call fcn.0040a78c
push dword [ebp - 0xad4]
push 0x5fab2c
mov al, byte [ebp - 0x92]
call fcn.004c1f1c
mov edx, eax
lea eax, [ebp - 0xad8]
call fcn.00405474
push dword [ebp - 0xad8]
lea eax, [ebp - 0xacc]
mov edx, 6
call fcn.0040560c
mov eax, dword [ebp - 0xacc]
call fcn.004c938c
mov eax, dword [ebp - 4]
mov byte [eax + 0x13b5ba8], 0xfe
mov dword [ebp - 0x9c], 1
xor eax, eax
push ebp
push 0x5f2e9a
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x14147b0], 0
je 0x5f2e90
mov eax, 0x5fab3c
call fcn.004c938c
lea eax, [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0x2c]
push eax
call dword [0x14147b0]
mov byte [ebp - 0x94], al
push 0x5fab54
mov al, byte [ebp - 0x94]
call fcn.004c1f1c
mov edx, eax
lea eax, [ebp - 0xae0]
call fcn.00405474
push dword [ebp - 0xae0]
push 0x5fab6c
mov eax, dword [ebp - 0x9c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0xae4]
call fcn.0040a878
push dword [ebp - 0xae4]
lea eax, [ebp - 0xadc]
mov edx, 4
call fcn.0040560c
mov eax, dword [ebp - 0xadc]
call fcn.004c938c
cmp byte [ebp - 0x94], 0
je 0x5f2e90
cmp dword [ebp - 0x9c], 0
je 0x5f2e73
mov eax, dword [ebp - 4]
mov byte [eax + 0x13b5ba8], 1
jmp 0x5f2e90
mov eax, dword [ebp - 4]
mov byte [eax + 0x13b5ba8], 0
call fcn.005e17f8
test al, al
je 0x5f2e90
mov eax, dword [ebp - 4]
mov byte [eax + 0x13b5ba8], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5f2eae
mov eax, 0x5fab78
call fcn.004be23c
test al, al
je 0x5f2f42
lea edx, [ebp - 0xaec]
xor eax, eax
call fcn.004c3988
mov eax, dword [ebp - 0xaec]
lea ecx, [ebp - 0xae8]
mov edx, 0x5fab88
call fcn.004bdd94
mov eax, dword [ebp - 0xae8]
push eax
push 0x5fab9c
lea edx, [ebp - 0xaf4]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0xaf4]
push 0x5fab20
lea edx, [ebp - 0xaf8]
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x13b5ba8]
call fcn.0040a78c
push dword [ebp - 0xaf8]
lea eax, [ebp - 0xaf0]
mov edx, 4
call fcn.0040560c
mov eax, dword [ebp - 0xaf0]
or ecx, 0xffffffff
pop edx
call fcn.004c9098
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax], 0
je 0x5f301c
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax + 4], 1
jb 0x5f301c
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax + 4], 3
ja 0x5f301c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x13b5ba8], 0
jne 0x5f301c
cmp byte [0x889fb8], 0
jne 0x5f301c
mov eax, dword [ebp - 4]
mov byte [eax + 0x13b5ba8], 1
mov eax, 0x5fab78
call fcn.004be23c
test al, al
je 0x5f301c
lea edx, [ebp - 0xb00]
xor eax, eax
call fcn.004c3988
mov eax, dword [ebp - 0xb00]
lea ecx, [ebp - 0xafc]
mov edx, 0x5fab88
call fcn.004bdd94
mov eax, dword [ebp - 0xafc]
push eax
lea edx, [ebp - 0xb08]
mov eax, dword [ebp - 4]
call fcn.0040a78c
mov ecx, dword [ebp - 0xb08]
lea eax, [ebp - 0xb04]
mov edx, 0x5fabb8
call fcn.00405598
mov eax, dword [ebp - 0xb04]
or ecx, 0xffffffff
pop edx
call fcn.004c9098
push 0x5fabd8
lea edx, [ebp - 0xb10]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0xb10]
push 0x5fab20
lea edx, [ebp - 0xb14]
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x13b5ba8]
call fcn.0040a78c
push dword [ebp - 0xb14]
lea eax, [ebp - 0xb0c]
mov edx, 4
call fcn.0040560c
mov eax, dword [ebp - 0xb0c]
call fcn.004c938c
push 0x5fabf0
lea edx, [ebp - 0xb1c]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0xb1c]
push 0x5fabf0
lea eax, [ebp - 0xb18]
mov edx, 3
call fcn.0040560c
mov eax, dword [ebp - 0xb18]
mov edx, dword [0x889fbc]
call fcn.00405890
test eax, eax
jle 0x5f30bd
mov eax, dword [ebp - 4]
mov byte [eax + 0x13b5ba8], 1
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 4]
mov edx, dword [eax + edx*4]
mov eax, 0x5fabfc
call fcn.00405890
test eax, eax
jle 0x5f30e0
mov eax, dword [ebp - 4]
mov byte [eax + 0x13b5ba8], 1
mov eax, dword [ebp - 4]
cmp byte [eax + 0x13b5ba8], 1
jne 0x5f33b8
mov eax, 0x5fac14
call fcn.004c938c
mov cl, byte [ebp - 0xb6]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00620c1c
mov edx, dword [0x8935a0]
mov ecx, dword [ebp - 4]
mov byte [edx + ecx], al
push 0x5fac2c
lea edx, [ebp - 0xb24]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0xb24]
push 0x5fab20
mov eax, dword [0x8935a0]
mov edx, dword [ebp - 4]
movzx eax, byte [eax + edx]
lea edx, [ebp - 0xb28]
call fcn.0040a78c
push dword [ebp - 0xb28]
lea eax, [ebp - 0xb20]
mov edx, 4
call fcn.0040560c
mov eax, dword [ebp - 0xb20]
call fcn.004c938c
mov eax, dword [0x8935a0]
mov edx, dword [ebp - 4]
cmp byte [eax + edx], 0
jne 0x5f348c
mov eax, dword [ebp - 4]
mov byte [eax + 0x13b5ba8], 0
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 4]
mov edx, dword [eax + edx*4]
mov eax, 0x5fac44
call fcn.00405890
test eax, eax
jle 0x5f31ac
mov eax, dword [ebp - 4]
mov byte [eax + 0x13b5ba8], 1
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 4]
mov edx, dword [eax + edx*4]
mov eax, 0x5fac54
call fcn.00405890
test eax, eax
jle 0x5f31cf
mov eax, dword [ebp - 4]
mov byte [eax + 0x13b5ba8], 1
xor eax, eax
push ebp
push 0x5f320c
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0040d398
fsub dword [0x5fac60]
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 4]
fcomp qword [eax + edx*8]
fnstsw ax
sahf
jb 0x5f3202
mov eax, dword [ebp - 4]
mov byte [eax + 0x13b5ba8], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5f3216
mov eax, dword [ebp - 4]
cmp byte [eax + 0x13b5ba8], 0
jne 0x5f33a9
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax], 0
je 0x5f33a9
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax + 4], 8
jne 0x5f3371
mov eax, dword [ebp - 4]
mov byte [eax + 0x13b5ba8], 1
push 0x5fac6c
lea edx, [ebp - 0xb30]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0xb30]
push 0x5fab20
lea edx, [ebp - 0xb34]
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x13b5ba8]
call fcn.0040a78c
push dword [ebp - 0xb34]
lea eax, [ebp - 0xb2c]
mov edx, 4
call fcn.0040560c
mov eax, dword [ebp - 0xb2c]
call fcn.004c938c
mov eax, 0x5fab78
call fcn.004be23c
test al, al
je 0x5f3371
lea edx, [ebp - 0xb3c]
xor eax, eax
call fcn.004c3988
mov eax, dword [ebp - 0xb3c]
lea ecx, [ebp - 0xb38]
mov edx, 0x5fab88
call fcn.004bdd94
mov eax, dword [ebp - 0xb38]
push eax
push 0x5fac84
lea edx, [ebp - 0xb44]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0xb44]
push 0x5fac9c
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
movzx eax, byte [edx + eax + 4]
lea edx, [ebp - 0xb48]
call fcn.0040a78c
push dword [ebp - 0xb48]
push 0x5faca8
lea edx, [ebp - 0xb4c]
mov eax, dword [ebp - 4]
call fcn.00572368
push dword [ebp - 0xb4c]
lea eax, [ebp - 0xb40]
mov edx, 6
call fcn.0040560c
mov eax, dword [ebp - 0xb40]
or ecx, 0xffffffff
pop edx
call fcn.004c9098
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax + 4], 0xb
jne 0x5f33a9
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
test byte [edx + eax + 0x10], 4
je 0x5f33a9
mov eax, dword [ebp - 4]
mov byte [eax + 0x13b5ba8], 1
mov eax, 0x5facb8
call fcn.004c938c
jmp 0x5f348c
mov eax, 0x5facd0
call fcn.0049fe38
test al, al
je 0x5f348c
mov eax, 0x5face4
call fcn.004c938c
mov cl, byte [ebp - 0xb6]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00620c1c
mov edx, dword [0x8935a0]
mov ecx, dword [ebp - 4]
mov byte [edx + ecx], al
push 0x5facfc
lea edx, [ebp - 0xb54]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0xb54]
push 0x5fab20
mov eax, dword [0x8935a0]
mov edx, dword [ebp - 4]
movzx eax, byte [eax + edx]
lea edx, [ebp - 0xb58]
call fcn.0040a78c
push dword [ebp - 0xb58]
lea eax, [ebp - 0xb50]
mov edx, 4
call fcn.0040560c
mov eax, dword [ebp - 0xb50]
call fcn.004c938c
mov eax, dword [0x8935a0]
mov edx, dword [ebp - 4]
cmp byte [eax + edx], 2
jne 0x5f3469
mov eax, dword [ebp - 4]
mov byte [eax + 0x13b5ba8], 1
mov eax, 0x5fad14
call fcn.004c938c
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 4]
mov edx, dword [eax + edx*4]
mov eax, 0x5fac44
call fcn.00405890
test eax, eax
jle 0x5f348c
mov eax, dword [ebp - 4]
mov byte [eax + 0x13b5ba8], 1
mov eax, dword [ebp - 4]
cmp byte [eax + 0x13b5ba8], 0
jne 0x5f3665
mov eax, dword [ebp - 4]
fld qword [eax*8 + 0x13b5c98]
fcomp dword [0x5fad24]
fnstsw ax
sahf
jne 0x5f34c1
call fcn.0040d398
mov eax, dword [ebp - 4]
fstp qword [eax*8 + 0x13b5c98]
wait
mov eax, 0x5fab78
call fcn.004be23c
test al, al
je 0x5f352c
lea edx, [ebp - 0xb60]
xor eax, eax
call fcn.004c3988
mov eax, dword [ebp - 0xb60]
lea ecx, [ebp - 0xb5c]
mov edx, 0x5fab88
call fcn.004bdd94
mov eax, dword [ebp - 0xb5c]
push eax
lea edx, [ebp - 0xb68]
mov eax, dword [ebp - 4]
call fcn.0040a78c
mov ecx, dword [ebp - 0xb68]
lea eax, [ebp - 0xb64]
mov edx, 0x5fad30
call fcn.00405598
mov eax, dword [ebp - 0xb64]
or ecx, 0xffffffff
pop edx
call fcn.004c9098
mov byte [ebp - 0x2f], 0
mov eax, dword [0x89254c]
mov edx, dword [ebp - 4]
cmp byte [eax + edx], 0
je 0x5f3584
imul eax, dword [ebp - 4], 0xafc
mov edx, dword [0x892558]
cmp byte [edx + eax*8], 0
je 0x5f35a9
lea eax, [ebp - 0xb6c]
imul edx, dword [ebp - 4], 0xafc
mov ecx, dword [0x892558]
lea edx, [ecx + edx*8 + 0x5c0]
mov ecx, 0x2711
call fcn.004054fc
cmp dword [ebp - 0xb6c], 0
je 0x5f35a9
mov byte [ebp - 0x2f], 1
jmp 0x5f35a9
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
cmp byte [edx + eax*2], 0
je 0x5f35a9
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 4]
cmp dword [eax + edx*4], 0
je 0x5f35a9
mov byte [ebp - 0x2f], 1
cmp byte [ebp - 0x92], 0
je 0x5f3621
mov eax, 0x5fab78
call fcn.004be23c
test al, al
je 0x5f361d
lea edx, [ebp - 0xb74]
xor eax, eax
call fcn.004c3988
mov eax, dword [ebp - 0xb74]
lea ecx, [ebp - 0xb70]
mov edx, 0x5fab88
call fcn.004bdd94
mov eax, dword [ebp - 0xb70]
push eax
lea edx, [ebp - 0xb7c]
mov eax, dword [ebp - 4]
call fcn.0040a78c
mov ecx, dword [ebp - 0xb7c]
lea eax, [ebp - 0xb78]
mov edx, 0x5fad48
call fcn.00405598
mov eax, dword [ebp - 0xb78]
or ecx, 0xffffffff
pop edx
call fcn.004c9098
mov byte [ebp - 0x2f], 0
cmp byte [ebp - 0x2f], 0
je 0x5f3665
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
lea eax, [ebp - 0xa9c]
mov edx, dword [ebp - 0x50]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
jmp 0x5f2600
cmp byte [ebp - 0x92], 0
je 0x5f3678
mov eax, dword [ebp - 4]
mov byte [eax + 0x13b5ba8], 1
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax*8 + 0x13b5c98], edx
mov dword [eax*8 + 0x13b5c9c], edx
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 4]
call fcn.005abf30
mov eax, dword [0x89254c]
mov edx, dword [ebp - 4]
cmp byte [eax + edx], 0
jne 0x5f3818
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 4]
mov eax, dword [eax + edx*4]
call fcn.0040554c
cmp eax, 0x1f4
jl 0x5f3818
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 4]
call fcn.005df54c
test al, al
je 0x5f3818
lea eax, [ebp - 0xb80]
mov edx, 0x88a098
call fcn.004054f0
mov eax, dword [ebp - 0xb80]
call fcn.00611a60
test al, al
je 0x5f3818
imul eax, dword [ebp - 4], 0xd
mov edx, dword [0x892fd0]
cmp byte [edx + eax*8 + 0x4e], 0
je 0x5f3818
lea eax, [ebp - 0xb84]
call fcn.004c2834
mov eax, dword [ebp - 0xb84]
mov edx, 0x5fad64
call fcn.00405698
jb 0x5f3818
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.006259fc
test eax, eax
jne 0x5f3818
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.005e1458
mov dword [ebp - 0x88], eax
push 0x5fad70
lea edx, [ebp - 0xb8c]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0xb8c]
push 0x5fab6c
push dword [ebp - 0x64]
push 0x5fad84
lea edx, [ebp - 0xb90]
mov eax, dword [ebp - 0x88]
call fcn.0040a78c
push dword [ebp - 0xb90]
lea eax, [ebp - 0xb88]
mov edx, 6
call fcn.0040560c
mov edx, dword [ebp - 0xb88]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
mov eax, 0x88a194
mov cl, 0xfa
call fcn.004032d0
mov edx, 0x5fad88
lea eax, [ebp - 0xc94]
call fcn.004032c4
mov edx, 0x88a194
lea eax, [ebp - 0xc94]
mov cl, 0xfe
call fcn.00403294
lea edx, [ebp - 0xc94]
lea eax, [ebp - 0xb94]
call fcn.004054f0
mov eax, dword [ebp - 0xb94]
call fcn.004c938c
cmp dword [ebp - 0x88], 1
jl 0x5f3818
mov eax, dword [ebp - 4]
mov byte [eax + 0x14147b8], 1
imul eax, dword [ebp - 4], 0xd
mov edx, dword [0x892fd0]
cmp dword [edx + eax*8 + 8], 0x100
jne 0x5f384d
mov edx, dword [ebp - 0x50]
mov eax, 0x5fad98
call fcn.00405890
test eax, eax
jle 0x5f384d
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x50]
call fcn.004052e0
jmp 0x5f8d5d
mov eax, dword [0x893580]
cmp dword [eax], 2
jne 0x5f3cc4
mov eax, dword [ebp - 0x2c]
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.005dbe4c
mov ecx, eax
lea eax, [ebp - 0x3c]
mov edx, dword [ebp - 4]
call fcn.0056b934
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 1
jl 0x5f3b25
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a80
call fcn.0040d398
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
add edx, eax
lea eax, [ebp - 0xd0c]
call fcn.004032c4
mov edx, 0x5fada0
lea eax, [ebp - 0xd0c]
mov cl, 0x6d
call fcn.00403294
lea edx, [ebp - 0xd0c]
lea eax, [ebp - 0xc9c]
call fcn.004054f0
push dword [ebp - 0xc9c]
lea edx, [ebp - 0xd10]
mov eax, dword [ebp - 0x90]
call fcn.0040a78c
push dword [ebp - 0xd10]
push 0x5fadb4
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
push edx
push eax
lea eax, [ebp - 0xd14]
call fcn.0040a878
push dword [ebp - 0xd14]
lea eax, [ebp - 0xc98]
mov edx, 4
call fcn.0040560c
mov edx, dword [ebp - 0xc98]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
mov edx, 0x5fadb8
lea eax, [ebp - 0xda0]
call fcn.004032c4
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0xda0]
mov cl, 0x89
call fcn.00403294
lea edx, [ebp - 0xda0]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax], 0
je 0x5f3a13
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax + 4], 0x1b
jne 0x5f3a13
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea edi, [edx + eax]
mov esi, 0x5fadc0
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, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax], 0
je 0x5f3a5c
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax + 4], 0x1c
jne 0x5f3a5c
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea edi, [edx + eax]
mov esi, 0x5fadd4
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 + 8]
call fcn.0040528c
mov eax, 0x5fadf0
call fcn.004be23c
test al, al
je 0x5f3b0d
push 0x5fae00
lea edx, [ebp - 0xda8]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0xda8]
push 0x5fae14
mov eax, dword [ebp - 4]
call fcn.005dbe4c
lea edx, [ebp - 0xdac]
call fcn.0040a78c
push dword [ebp - 0xdac]
push 0x5fae24
mov eax, dword [ebp - 0x2c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0xdb0]
call fcn.0040a878
push dword [ebp - 0xdb0]
push 0x5fae38
lea eax, [ebp - 0xdb4]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
push dword [ebp - 0xdb4]
lea eax, [ebp - 0xda4]
mov edx, 8
call fcn.0040560c
mov eax, dword [ebp - 0xda4]
mov dl, 1
call fcn.00561300
cmp dword [ebp - 0x2c], 0xffffffff
je 0x5f9de7
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x5f9de7
cmp dword [ebp - 0x84], 0
jne 0x5f3cc4
mov eax, dword [0x89285c]
cmp dword [eax], 0
jg 0x5f3b4e
lea eax, [ebp - 0x44]
mov edx, 0x5fae48
call fcn.00405324
jmp 0x5f547e
imul eax, dword [ebp - 4], 0xafc
mov edx, dword [0x892558]
lea edx, [edx + eax*8]
mov eax, 0x5fae54
call fcn.00402c6c
test eax, eax
jle 0x5f3b7e
lea eax, [ebp - 0x44]
mov edx, 0x5fae48
call fcn.00405324
jmp 0x5f547e
mov eax, dword [ebp - 8]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403464
call fcn.0040d398
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
lea eax, [edx + eax]
mov edx, 0x5fae5c
mov cl, 0x64
call fcn.00403294
mov edx, 0x5fae6c
lea eax, [ebp - 0xe48]
call fcn.004032c4
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0xe48]
mov cl, 0x92
call fcn.00403294
lea edx, [ebp - 0xe48]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
mov eax, dword [ebp + 8]
mov edx, 0x5fae88
call fcn.004052e0
mov eax, 0x5fadf0
call fcn.004be23c
test al, al
je 0x5f3cb6
push 0x5fae00
lea edx, [ebp - 0xe50]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0xe50]
push 0x5fae14
mov eax, dword [ebp - 4]
call fcn.005dbe4c
lea edx, [ebp - 0xe54]
call fcn.0040a78c
push dword [ebp - 0xe54]
push 0x5fae24
mov eax, dword [ebp - 0x2c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0xe58]
call fcn.0040a878
push dword [ebp - 0xe58]
push 0x5faea4
lea eax, [ebp - 0xe5c]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
push dword [ebp - 0xe5c]
lea eax, [ebp - 0xe4c]
mov edx, 8
call fcn.0040560c
mov eax, dword [ebp - 0xe4c]
mov dl, 1
call fcn.00561300
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x5f9de7
mov edx, dword [ebp - 0x50]
mov eax, 0x5faeb8
call fcn.00405890
test eax, eax
jle 0x5f3f5c
push dword [ebp - 0x50]
push 0x5faec8
lea edx, [ebp - 0xe64]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0xe64]
push 0x5fae14
mov eax, dword [ebp - 4]
call fcn.005dbe4c
lea edx, [ebp - 0xe68]
call fcn.0040a78c
push dword [ebp - 0xe68]
push 0x5faed8
lea eax, [ebp - 0xe6c]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
push dword [ebp - 0xe6c]
lea eax, [ebp - 0xe60]
mov edx, 7
call fcn.0040560c
mov eax, dword [ebp - 0xe60]
call fcn.004c938c
push 0
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea edx, [edx + eax*2]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005e740c
test eax, eax
jle 0x5f3f5c
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a80
call fcn.0040d398
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
add edx, eax
lea eax, [ebp - 0xee0]
call fcn.004032c4
mov edx, 0x5faee0
lea eax, [ebp - 0xee0]
mov cl, 0x69
call fcn.00403294
lea edx, [ebp - 0xee0]
lea eax, [ebp - 0xe74]
call fcn.004054f0
push dword [ebp - 0xe74]
lea edx, [ebp - 0xee4]
mov eax, dword [ebp - 0x90]
call fcn.0040a78c
push dword [ebp - 0xee4]
push 0x5fadb4
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
push edx
push eax
lea eax, [ebp - 0xee8]
call fcn.0040a878
push dword [ebp - 0xee8]
lea eax, [ebp - 0xe70]
mov edx, 4
call fcn.0040560c
mov edx, dword [ebp - 0xe70]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
mov edx, dword [ebp - 0x50]
mov eax, 0x5faef0
call fcn.00405890
test eax, eax
jne 0x5f3e91
push 0
lea eax, [ebp - 0x50]
mov ecx, 0x5faf04
mov edx, 0x5faeb8
call fcn.004beee4
lea eax, [ebp - 0xa9c]
mov edx, dword [ebp - 0x50]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
mov eax, dword [ebp + 8]
call fcn.0040528c
push dword [ebp - 0x50]
push 0x5faec8
lea edx, [ebp - 0xef0]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0xef0]
push 0x5fae14
mov eax, dword [ebp - 4]
call fcn.005dbe4c
lea edx, [ebp - 0xef4]
call fcn.0040a78c
push dword [ebp - 0xef4]
push 0x5faed8
lea eax, [ebp - 0xef8]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
push dword [ebp - 0xef8]
lea eax, [ebp - 0xeec]
mov edx, 7
call fcn.0040560c
mov eax, dword [ebp - 0xeec]
call fcn.004c938c
cmp dword [ebp - 0x2c], 0xffffffff
je 0x5f9de7
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x5f9de7
lea eax, [ebp - 0xec]
xor ecx, ecx
mov edx, 0x20
call fcn.00403464
lea eax, [ebp - 0x2fc]
xor ecx, ecx
mov edx, 0x210
call fcn.00403464
mov dword [ebp - 0xec], 0x200
mov byte [ebp - 0xe7], 1
mov byte [ebp - 0xe6], 1
mov byte [ebp - 0xe2], 0xec
mov eax, dword [0x893580]
cmp dword [eax], 2
jne 0x5f3fc4
mov al, byte [ebp - 0x18]
and al, 1
shl eax, 4
or al, 0xa0
mov byte [ebp - 0xe3], al
mov al, byte [ebp - 0x18]
mov byte [ebp - 0xe0], al
jmp 0x5f3fea
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0x13b5604]
mov byte [ebp - 0xe3], al
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0x13b5606]
mov byte [ebp - 0xe0], al
mov dword [ebp - 0x2fc], 0x210
lea edx, [ebp - 0xf00]
mov eax, dword [ebp - 4]
call fcn.0040a78c
mov ecx, dword [ebp - 0xf00]
lea eax, [ebp - 0xefc]
mov edx, 0x5faf18
call fcn.00405598
mov eax, dword [ebp - 0xefc]
call fcn.004c938c
push 0
lea eax, [ebp - 0x28]
push eax
push 0x210
lea eax, [ebp - 0x2fc]
push eax
push 0x20
lea eax, [ebp - 0xec]
push eax
push 0x7c088
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_DeviceIoControl
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0x2f], al
push 0x200
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
mov eax, 0x5faf34
call fcn.004c9420
mov al, byte [ebp - 0x2f]
call fcn.004c1f1c
mov edx, eax
lea eax, [ebp - 0xf08]
call fcn.00405474
mov ecx, dword [ebp - 0xf08]
lea eax, [ebp - 0xf04]
mov edx, 0x5faf50
call fcn.00405598
mov eax, dword [ebp - 0xf04]
call fcn.004c938c
cmp byte [ebp - 0x2f], 0
je 0x5f4189
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.006267cc
dec eax
jne 0x5f40c0
mov byte [ebp - 0x2f], 0
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.0062650c
dec eax
jne 0x5f40d2
mov byte [ebp - 0x2f], 0
cmp byte [ebp - 0x2f], 0
je 0x5f4189
lea ecx, [ebp - 0x54]
lea eax, [ebp - 0x2ec]
mov edx, 0x1ff
call fcn.005e6038
push 0x5faf6c
lea edx, [ebp - 0xf10]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0xf10]
push 0x5faf7c
push dword [ebp - 0x54]
lea eax, [ebp - 0xf0c]
mov edx, 4
call fcn.0040560c
mov eax, dword [ebp - 0xf0c]
call fcn.004c938c
mov edx, dword [ebp - 0x54]
mov eax, 0x5faf8c
call fcn.00405890
test eax, eax
jle 0x5f414d
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.006267cc
dec eax
jne 0x5f414d
mov byte [ebp - 0x2f], 0
cmp byte [ebp - 0x2f], 0
jne 0x5f4189
mov al, byte [ebp - 0x2f]
call fcn.004c1f1c
mov edx, eax
lea eax, [ebp - 0xf18]
call fcn.00405474
mov ecx, dword [ebp - 0xf18]
lea eax, [ebp - 0xf14]
mov edx, 0x5faf9c
call fcn.00405598
mov eax, dword [ebp - 0xf14]
call fcn.004c938c
cmp byte [ebp - 0x2f], 0
je 0x5f4220
lea eax, [ebp - 0x2ec]
mov edx, 0x1ff
call fcn.005e86a8
test al, al
je 0x5f41ab
mov byte [ebp - 0x2f], 0
cmp byte [ebp - 0x2f], 0
je 0x5f41cc
lea eax, [ebp - 0x2ec]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x1ff
call fcn.005e8918
test al, al
je 0x5f41cc
mov byte [ebp - 0x2f], 0
lea eax, [ebp - 0x2ec]
mov edx, 0x1ff
call fcn.005e8bb4
dec eax
jne 0x5f41e3
mov byte [ebp - 0x2f], 0
lea eax, [ebp - 0x2ec]
mov edx, 0x1ff
call fcn.005e8cf4
dec eax
jne 0x5f4204
mov dword [ebp - 0xb4], 2
mov byte [ebp - 0x2f], 0
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.005eb8cc
dec eax
jne 0x5f4220
mov dword [ebp - 0xb4], 3
mov byte [ebp - 0x2f], 0
push 0x5fafb4
lea ecx, [ebp - 0xf20]
xor eax, eax
mov al, byte [ebp - 0x2ec]
mov edx, 2
call fcn.0040a8a0
push dword [ebp - 0xf20]
push 0x5fab6c
lea ecx, [ebp - 0xf24]
xor eax, eax
mov al, byte [ebp - 0x2eb]
mov edx, 2
call fcn.0040a8a0
push dword [ebp - 0xf24]
push 0x5fab6c
lea ecx, [ebp - 0xf28]
xor eax, eax
mov al, byte [ebp - 0x2ea]
mov edx, 2
call fcn.0040a8a0
push dword [ebp - 0xf28]
push 0x5fab6c
lea ecx, [ebp - 0xf2c]
xor eax, eax
mov al, byte [ebp - 0x2e9]
mov edx, 2
call fcn.0040a8a0
push dword [ebp - 0xf2c]
lea eax, [ebp - 0xf1c]
mov edx, 8
call fcn.0040560c
mov eax, dword [ebp - 0xf1c]
call fcn.004c938c
mov eax, 0x5fafc4
call fcn.004be23c
test al, al
je 0x5f42f9
cmp dword [ebp - 4], 3
jg 0x5f42f9
cmp byte [ebp - 0x2ec], 0
je 0x5f42f9
mov byte [ebp - 0x2ec], 0xc0
mov byte [ebp - 0x2eb], 0x85
mov byte [ebp - 0x2ea], 0
cmp byte [ebp - 0x2ec], 0xc0
jne 0x5f432c
cmp byte [ebp - 0x2eb], 0x85
jne 0x5f432c
cmp byte [ebp - 0x2ea], 0
jne 0x5f432c
mov eax, 0x5fafd4
call fcn.004c938c
mov dword [ebp - 0xb4], 4
mov byte [ebp - 0x2f], 0
mov eax, 0x5faff4
call fcn.004be23c
test al, al
je 0x5f4344
cmp dword [ebp - 4], 3
jg 0x5f4344
mov byte [ebp - 0x2f], 0
mov eax, 0x5fb004
call fcn.004be23c
test al, al
je 0x5f435f
cmp dword [ebp - 4], 0x96
jg 0x5f435f
mov byte [ebp - 0x2f], 0
mov eax, 0x5fb014
call fcn.004be23c
test al, al
je 0x5f437a
cmp dword [ebp - 4], 0x96
jg 0x5f437a
mov byte [ebp - 0x2f], 0
mov eax, 0x5fb024
call fcn.004be23c
test al, al
je 0x5f4392
cmp dword [ebp - 4], 0xf
jg 0x5f4392
mov byte [ebp - 0x2f], 0
mov eax, 0x5fb038
call fcn.004be23c
test al, al
je 0x5f43aa
cmp dword [ebp - 4], 0xf
jg 0x5f43aa
mov byte [ebp - 0x2f], 0
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov edx, 0x5fb044
mov cl, 0x82
call fcn.00403294
cmp byte [ebp - 0x2f], 0
je 0x5f43ea
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov edx, 0x5fb04c
mov cl, 0x82
call fcn.00403294
jmp 0x5f4406
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov edx, 0x5fb050
mov cl, 0x82
call fcn.00403294
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0xfbc]
call fcn.004032c4
mov edx, 0x5fb054
lea eax, [ebp - 0xfbc]
mov cl, 0x86
call fcn.00403294
lea edx, [ebp - 0xfbc]
lea eax, [ebp - 0xf34]
call fcn.004054f0
push dword [ebp - 0xf34]
lea edx, [ebp - 0xfc0]
xor eax, eax
mov al, byte [ebp - 0x2f8]
call fcn.0040a78c
push dword [ebp - 0xfc0]
push 0x5fb064
lea edx, [ebp - 0xfc4]
xor eax, eax
mov al, byte [ebp - 0x2f7]
call fcn.0040a78c
push dword [ebp - 0xfc4]
push 0x5fab6c
lea eax, [ebp - 0xf30]
mov edx, 5
call fcn.0040560c
mov edx, dword [ebp - 0xf30]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
mov edx, 0x5fb06c
lea eax, [ebp - 0x1050]
call fcn.004032c4
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0x1050]
mov cl, 0x85
call fcn.00403294
lea edx, [ebp - 0x1050]
lea eax, [ebp - 0xfc8]
call fcn.004054f0
mov eax, dword [ebp - 0xfc8]
call fcn.004c938c
mov eax, dword [0x8927cc]
cmp byte [eax], 0
je 0x5f4589
push 0x200
push 0x5fb078
lea edx, [ebp - 0x105c]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0x105c]
push 0x5fb084
lea eax, [ebp - 0x1058]
mov edx, 3
call fcn.0040560c
mov eax, dword [ebp - 0x1058]
push eax
lea edx, [ebp - 0x1060]
xor eax, eax
call fcn.004c3988
mov eax, dword [ebp - 0x1060]
lea ecx, [ebp - 0x1054]
pop edx
call fcn.004bdd94
mov eax, dword [ebp - 0x1054]
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
call fcn.004c31f0
cmp byte [ebp - 0x2f7], 1
jne 0x5f45ed
lea eax, [ebp - 0x54]
call fcn.0040528c
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp byte [ebp + eax - 0x2ec], 0
je 0x5f45b9
lea eax, [ebp - 0x54]
mov edx, 0x5fb094
call fcn.00405554
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x10
jne 0x5f459f
mov eax, dword [ebp - 0x54]
call fcn.0040554c
dec eax
jg 0x5f45ed
mov byte [ebp - 0x2f], 0
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov edx, 0x5fb098
mov cl, 0x82
call fcn.00403294
mov eax, 0x5fb0a8
call fcn.004be23c
test al, al
je 0x5f4618
cmp dword [ebp - 4], 1
jne 0x5f4618
push 0
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
mov eax, 0x5fb0c0
call fcn.006155f0
mov eax, 0x5fb0cc
call fcn.004be23c
test al, al
je 0x5f462a
mov byte [ebp - 0x2f], 0
lea eax, [ebp - 0x2ec]
mov edx, 0x200
call fcn.00599660
test al, al
jne 0x5f4642
mov byte [ebp - 0x2f], 0
cmp byte [ebp - 0x2f], 0
je 0x5f4707
mov dword [ebp - 0x1c], 0x14
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0x80
jb 0x5f4692
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ed], 0x20
jne 0x5f4692
cmp dword [ebp - 0x1c], 0x20
jl 0x5f4692
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jg 0x5f4692
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov byte [ebp + eax - 0x2ec], 0x20
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x28
jne 0x5f467e
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0
je 0x5f46ac
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0x1f
ja 0x5f46cd
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jg 0x5f4707
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov byte [ebp + eax - 0x2ec], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x28
jne 0x5f46b7
jmp 0x5f4707
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0
je 0x5f46fa
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0x20
jb 0x5f46f4
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0x7f
jbe 0x5f46fa
mov byte [ebp - 0x2f], 0
jmp 0x5f4707
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x28
jne 0x5f4653
cmp byte [ebp - 0x2f], 0
je 0x5f4761
mov dword [ebp - 0x1c], 0x2e
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0
je 0x5f4758
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0x20
jb 0x5f473b
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0x7f
jbe 0x5f4758
mov byte [ebp - 0x2f], 0
lea eax, [ebp - 0x2f]
push eax
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
mov eax, dword [ebp - 4]
call fcn.0059933c
jmp 0x5f4761
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x36
jne 0x5f4714
cmp byte [ebp - 0x2f], 0
je 0x5f485b
mov dword [ebp - 0x1c], 0x36
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0
jne 0x5f47a7
mov eax, dword [ebp - 0x1c]
cmp eax, 0x5d
jg 0x5f485b
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov byte [ebp + eax - 0x2ec], 0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x5e
jne 0x5f478e
jmp 0x5f485b
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0xa1
jb 0x5f47d8
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0xa4
ja 0x5f47d8
cmp dword [ebp - 0x1c], 0x40
jl 0x5f47d8
cmp dword [ebp - 0x1c], 0x41
jg 0x5f47d8
mov eax, dword [ebp - 0x1c]
mov byte [ebp + eax - 0x2ec], 0x20
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0xa1
jb 0x5f4803
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0xc8
ja 0x5f4803
cmp dword [ebp - 0x1c], 0x3c
jl 0x5f4803
mov eax, dword [ebp - 0x1c]
mov byte [ebp + eax - 0x2ec], 0x20
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 9
jne 0x5f4821
cmp dword [ebp - 0x1c], 0x3c
jl 0x5f4821
mov eax, dword [ebp - 0x1c]
mov byte [ebp + eax - 0x2ec], 0x20
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0
je 0x5f484e
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0x20
jb 0x5f4848
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0x7f
jbe 0x5f484e
mov byte [ebp - 0x2f], 0
jmp 0x5f485b
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x5e
jne 0x5f4772
cmp byte [ebp - 0x2f], 0
je 0x5f492a
lea eax, [ebp - 0x54]
call fcn.0040528c
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 0x14
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0
jne 0x5f488b
inc dword [ebp - 0x20]
jmp 0x5f48ae
lea eax, [ebp - 0x1064]
mov edx, dword [ebp - 0x1c]
mov dl, byte [ebp + edx - 0x2ec]
call fcn.00405474
mov edx, dword [ebp - 0x1064]
lea eax, [ebp - 0x54]
call fcn.00405554
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x28
jne 0x5f4879
lea edx, [ebp - 0x1068]
mov eax, dword [ebp - 0x54]
call fcn.0040a298
mov eax, dword [ebp - 0x1068]
call fcn.0040554c
cmp eax, 5
jge 0x5f48ea
mov edx, dword [ebp - 0x54]
mov eax, 0x5fb0dc
call fcn.00405890
test eax, eax
jne 0x5f48ea
mov byte [ebp - 0x2f], 0
lea edx, [ebp - 0x106c]
mov eax, dword [ebp - 0x54]
call fcn.0040a298
mov eax, dword [ebp - 0x106c]
call fcn.0040554c
cmp eax, dword [ebp - 0x20]
jge 0x5f492a
lea edx, [ebp - 0x1070]
mov eax, dword [ebp - 0x54]
call fcn.0040a298
mov eax, dword [ebp - 0x1070]
call fcn.0040554c
cmp eax, 7
jge 0x5f492a
mov byte [ebp - 0x2f], 0
lea eax, [ebp - 0x40]
mov edx, dword [ebp - 0x54]
call fcn.00405324
cmp byte [ebp - 0x2f], 0
je 0x5f4a7b
lea eax, [ebp - 0x54]
call fcn.0040528c
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 0x2e
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0
jne 0x5f4965
inc dword [ebp - 0x20]
jmp 0x5f4988
lea eax, [ebp - 0x1074]
mov edx, dword [ebp - 0x1c]
mov dl, byte [ebp + edx - 0x2ec]
call fcn.00405474
mov edx, dword [ebp - 0x1074]
lea eax, [ebp - 0x54]
call fcn.00405554
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x5e
jne 0x5f4953
lea edx, [ebp - 0x1078]
mov eax, dword [ebp - 0x54]
call fcn.0040a298
mov edx, dword [ebp - 0x1078]
lea eax, [ebp - 0x54]
call fcn.00405324
mov eax, dword [ebp - 0x54]
call fcn.0040554c
cmp eax, 5
jge 0x5f49be
mov byte [ebp - 0x2f], 0
mov eax, dword [ebp - 0x54]
call fcn.0040554c
cmp eax, dword [ebp - 0x20]
jge 0x5f49dc
mov eax, dword [ebp - 0x54]
call fcn.0040554c
cmp eax, 0x14
jge 0x5f49dc
mov byte [ebp - 0x2f], 0
cmp dword [ebp - 0x20], 0xa
jle 0x5f4a7b
lea edx, [ebp - 0x107c]
mov eax, dword [ebp - 0x54]
call fcn.0040a048
mov edx, dword [ebp - 0x107c]
mov eax, 0x5fb0f0
call fcn.00405890
test eax, eax
jle 0x5f4a7b
lea edx, [ebp - 0x1080]
mov eax, dword [ebp - 0x54]
call fcn.0040a048
mov edx, dword [ebp - 0x1080]
mov eax, 0x5fb100
call fcn.00405890
test eax, eax
jg 0x5f4a4c
lea edx, [ebp - 0x1084]
mov eax, dword [ebp - 0x54]
call fcn.0040a048
mov edx, dword [ebp - 0x1084]
mov eax, 0x5fb110
call fcn.00405890
test eax, eax
jle 0x5f4a7b
mov edx, dword [ebp - 0x54]
mov eax, 0x5fb120
call fcn.00405890
test eax, eax
jle 0x5f4a7b
mov edx, dword [ebp - 0x54]
mov eax, 0x5fb12c
call fcn.00405890
test eax, eax
jle 0x5f4a7b
cmp byte [ebp - 0x2ec], 0
jne 0x5f4a7b
mov byte [ebp - 0x2f], 0
cmp byte [ebp - 0x2f], 0
je 0x5f4c64
mov eax, 0x5fb138
call fcn.004c938c
call fcn.00626484
test al, al
je 0x5f4af9
mov eax, 0x5fb14c
call fcn.004c938c
mov eax, dword [ebp - 0x2c]
call fcn.005de3ec
mov dword [ebp - 0x88], eax
lea edx, [ebp - 0x108c]
mov eax, dword [ebp - 0x88]
call fcn.0040a78c
mov ecx, dword [ebp - 0x108c]
lea eax, [ebp - 0x1088]
mov edx, 0x5fb160
call fcn.00405598
mov eax, dword [ebp - 0x1088]
call fcn.004c938c
cmp dword [ebp - 0x88], 7
jne 0x5f4af9
mov eax, 0x5fb174
call fcn.004c938c
mov byte [ebp - 0x2f], 0
mov eax, 0x5fb184
call fcn.004c938c
mov eax, 0x5fb198
call fcn.0049fe38
test al, al
jne 0x5f4b23
mov eax, 0x5fb1b4
call fcn.0049fe38
test al, al
je 0x5f4c64
mov eax, 0x5fb1d0
call fcn.004c938c
lea ecx, [ebp - 0x5c]
mov edx, dword [ebp - 0x2c]
xor eax, eax
call fcn.005de730
lea eax, [ebp - 0x60]
call fcn.0040528c
mov eax, dword [ebp - 0x5c]
call fcn.0040554c
test eax, eax
jle 0x5f4be9
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x88], 1
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x88]
cmp byte [eax + edx - 1], 0x20
jb 0x5f4b9a
lea eax, [ebp - 0x1090]
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x88]
mov dl, byte [edx + ecx - 1]
call fcn.00405474
mov edx, dword [ebp - 0x1090]
lea eax, [ebp - 0x60]
call fcn.00405554
jmp 0x5f4bd7
lea eax, [ebp - 0x1094]
push eax
mov eax, dword [ebp - 0x60]
call fcn.0040554c
mov edx, eax
mov ecx, 1
mov eax, dword [ebp - 0x60]
call fcn.004057ac
mov eax, dword [ebp - 0x1094]
mov edx, 0x5fab6c
call fcn.00405698
je 0x5f4bd7
lea eax, [ebp - 0x60]
mov edx, 0x5fab6c
call fcn.00405554
inc dword [ebp - 0x88]
dec dword [ebp - 0xbc]
jne 0x5f4b62
lea eax, [ebp - 0x1098]
mov ecx, dword [ebp - 0x60]
mov edx, 0x5fb1e8
call fcn.00405598
mov eax, dword [ebp - 0x1098]
call fcn.004c938c
lea edx, [ebp - 0x109c]
mov eax, dword [ebp - 0x60]
call fcn.0040a048
mov edx, dword [ebp - 0x109c]
lea eax, [ebp - 0x60]
call fcn.00405324
mov edx, dword [ebp - 0x60]
mov eax, 0x5fb1f8
call fcn.00405890
test eax, eax
jle 0x5f4c64
mov edx, dword [ebp - 0x60]
mov eax, 0x5fb208
call fcn.00405890
test eax, eax
jle 0x5f4c64
mov edx, dword [ebp - 0x60]
mov eax, 0x5fb218
call fcn.00405890
test eax, eax
jle 0x5f4c64
mov eax, 0x5fb228
call fcn.004c938c
mov byte [ebp - 0x2f], 0
cmp byte [ebp - 0x2f], 0
je 0x5f4d11
push 0x5fb23c
lea eax, [ebp - 0x10a8]
push eax
mov eax, dword [ebp - 0x54]
call fcn.0040554c
mov ecx, eax
mov edx, 9
mov eax, dword [ebp - 0x54]
call fcn.004057ac
mov eax, dword [ebp - 0x10a8]
lea edx, [ebp - 0x10a4]
call fcn.004c3440
push dword [ebp - 0x10a4]
push 0x5fb258
lea eax, [ebp - 0x10b0]
push eax
mov ecx, 8
mov edx, 1
mov eax, dword [ebp - 0x54]
call fcn.004057ac
mov eax, dword [ebp - 0x10b0]
lea edx, [ebp - 0x10ac]
call fcn.004c3440
push dword [ebp - 0x10ac]
push 0x5fb268
lea edx, [ebp - 0x10b4]
mov eax, dword [ebp - 0x40]
call fcn.004c3440
push dword [ebp - 0x10b4]
lea eax, [ebp - 0x10a0]
mov edx, 6
call fcn.0040560c
mov eax, dword [ebp - 0x10a0]
call fcn.004c938c
cmp byte [ebp - 0x2f], 0
je 0x5f4e59
lea edx, [ebp - 0x10b8]
mov eax, dword [ebp - 0x40]
call fcn.004c3440
mov eax, dword [ebp - 0x10b8]
lea edx, [ebp - 0x60]
call fcn.0040a298
push 0x5fb278
lea edx, [ebp - 0x10c0]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0x10c0]
push 0x5fb290
push dword [ebp - 0x60]
lea eax, [ebp - 0x10bc]
mov edx, 4
call fcn.0040560c
mov eax, dword [ebp - 0x10bc]
call fcn.004c938c
mov eax, dword [ebp - 0x60]
call fcn.0040554c
cmp eax, 8
jl 0x5f4e59
mov eax, dword [ebp - 4]
dec eax
test eax, eax
jl 0x5f4e59
inc eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x88], 0
lea edx, [ebp - 0x10c4]
mov eax, dword [ebp - 0x88]
call fcn.005aba10
mov eax, dword [ebp - 0x10c4]
lea edx, [ebp - 0x5c]
call fcn.0040a298
push 0x5fb2a4
lea edx, [ebp - 0x10cc]
mov eax, dword [ebp - 0x88]
call fcn.0040a78c
push dword [ebp - 0x10cc]
push 0x5fb290
push dword [ebp - 0x5c]
lea eax, [ebp - 0x10c8]
mov edx, 4
call fcn.0040560c
mov eax, dword [ebp - 0x10c8]
call fcn.004c938c
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x60]
call fcn.00405698
je 0x5f4e1a
mov eax, 0x5fb2b8
call fcn.004be23c
test al, al
je 0x5f4e47
mov eax, 0x5fb2cc
call fcn.004c938c
call fcn.005eed54
test al, al
je 0x5f4e47
mov eax, 0x5fb2dc
call fcn.004c938c
mov dword [ebp - 0xb4], 4
mov byte [ebp - 0x2f], 0
jmp 0x5f4e59
inc dword [ebp - 0x88]
dec dword [ebp - 0xbc]
jne 0x5f4da1
cmp byte [ebp - 0x2f], 0
je 0x5f4f08
push 0x5fb2f4
lea eax, [ebp - 0x10d8]
push eax
mov eax, dword [ebp - 0x54]
call fcn.0040554c
mov ecx, eax
mov edx, 9
mov eax, dword [ebp - 0x54]
call fcn.004057ac
mov eax, dword [ebp - 0x10d8]
lea edx, [ebp - 0x10d4]
call fcn.004c3440
push dword [ebp - 0x10d4]
push 0x5fb258
lea eax, [ebp - 0x10e0]
push eax
mov ecx, 8
mov edx, 1
mov eax, dword [ebp - 0x54]
call fcn.004057ac
mov eax, dword [ebp - 0x10e0]
lea edx, [ebp - 0x10dc]
call fcn.004c3440
push dword [ebp - 0x10dc]
push 0x5fb268
lea edx, [ebp - 0x10e4]
mov eax, dword [ebp - 0x40]
call fcn.004c3440
push dword [ebp - 0x10e4]
lea eax, [ebp - 0x10d0]
mov edx, 6
call fcn.0040560c
mov eax, dword [ebp - 0x10d0]
call fcn.004c938c
jmp 0x5f4f2c
push 0x200
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
mov eax, 0x5fb310
call fcn.004c9420
mov eax, 0x5fb32c
call fcn.004c938c
mov edx, dword [ebp - 0x54]
mov eax, 0x5fb348
call fcn.00405890
test eax, eax
jle 0x5f4f41
mov byte [ebp - 0x2f], 0
lea eax, [ebp - 0x2ec]
mov ecx, 0x200
mov edx, 0x1ff
call fcn.0052ea58
test al, al
je 0x5f4fa4
lea eax, [ebp - 0x10e8]
push eax
mov ecx, 8
mov edx, 1
mov eax, dword [ebp - 0x54]
call fcn.004057ac
mov edx, dword [ebp - 0x10e8]
mov eax, dword [ebp - 4]
call fcn.005e7f08
xor ecx, ecx
mov edx, dword [ebp - 4]
xor eax, eax
call fcn.0052baf4
call fcn.0052eb04
test al, al
je 0x5f4fa0
mov dword [ebp - 0xb4], 1
mov byte [ebp - 0x2f], 0
mov edx, dword [ebp - 0x54]
mov eax, 0x5fb35c
call fcn.00405890
test eax, eax
jle 0x5f4fb9
mov byte [ebp - 0x2f], 0
mov edx, dword [ebp - 0x54]
mov eax, 0x5fb36c
call fcn.00405890
test eax, eax
jle 0x5f4fce
mov byte [ebp - 0x2f], 0
mov edx, dword [ebp - 0x54]
mov eax, 0x5fb37c
call fcn.00405890
test eax, eax
jle 0x5f4fe3
mov byte [ebp - 0x2f], 0
mov edx, dword [ebp - 0x54]
mov eax, 0x5fb38c
call fcn.00405890
test eax, eax
jle 0x5f4ff8
mov byte [ebp - 0x2f], 0
cmp dword [ebp - 4], 7
jl 0x5f50d3
lea edx, [ebp - 0x10f0]
mov eax, dword [ebp - 0x40]
call fcn.004c3440
mov eax, dword [ebp - 0x10f0]
lea edx, [ebp - 0x10ec]
call fcn.0040a048
mov edx, dword [ebp - 0x10ec]
mov eax, 0x5fb39c
call fcn.00405890
test eax, eax
jle 0x5f50d3
push 0x5fb3b4
lea edx, [ebp - 0x10f8]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0x10f8]
push 0x5fb3c8
lea edx, [ebp - 0x10fc]
mov eax, dword [ebp - 0x40]
call fcn.004c3440
push dword [ebp - 0x10fc]
lea eax, [ebp - 0x10f4]
mov edx, 4
call fcn.0040560c
mov eax, dword [ebp - 0x10f4]
call fcn.004c938c
mov eax, dword [ebp - 0x2c]
call fcn.005de3ec
mov dword [ebp - 0x88], eax
lea edx, [ebp - 0x1104]
mov eax, dword [ebp - 0x88]
call fcn.0040a78c
mov ecx, dword [ebp - 0x1104]
lea eax, [ebp - 0x1100]
mov edx, 0x5fb3d4
call fcn.00405598
mov eax, dword [ebp - 0x1100]
call fcn.004c938c
cmp dword [ebp - 0x88], 7
jne 0x5f50d3
mov byte [ebp - 0x2f], 0
cmp byte [ebp - 0x2f], 0
jne 0x5f5119
lea eax, [ebp - 0x2ec]
mov ecx, dword [ebp - 4]
mov edx, 0x1ff
call fcn.005e8ec0
dec eax
jne 0x5f5119
mov eax, 0x5fb3e8
call fcn.004c938c
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov edx, 0x5fb3f4
mov cl, 0x82
call fcn.00403294
mov byte [ebp - 0x2f], 1
cmp byte [ebp - 0x2f], 0
jne 0x5f65b0
lea eax, [ebp - 0x110c]
imul edx, dword [ebp - 0x18], 0x65
mov ecx, dword [0x8922ac]
lea edx, [ecx + edx]
call fcn.004054f0
mov eax, dword [ebp - 0x110c]
lea edx, [ebp - 0x1108]
call fcn.0040a048
mov edx, dword [ebp - 0x1108]
mov eax, 0x5fb404
call fcn.00405890
test eax, eax
jg 0x5f516e
mov eax, dword [0x892448]
mov edx, dword [ebp - 0x18]
cmp dword [eax + edx*4], 0
jl 0x5f5183
mov eax, dword [ebp + 8]
mov edx, 0x5fab6c
call fcn.00405554
mov eax, dword [ebp + 8]
jmp 0x5f547e
mov eax, dword [ebp - 0x2f8]
mov dword [0x13b6424], eax
mov eax, dword [ebp - 0x2f4]
mov dword [0x13b6428], eax
mov eax, dword [ebp - 0x2f0]
mov dword [0x13b642c], eax
cmp dword [ebp + 0xc], 0
jle 0x5f5375
mov eax, dword [ebp - 0x90]
cmp eax, dword [ebp + 0xc]
jge 0x5f5375
inc dword [ebp - 0x90]
lea edx, [ebp - 0x1114]
mov eax, dword [ebp - 0x90]
call fcn.0040a78c
mov ecx, dword [ebp - 0x1114]
lea eax, [ebp - 0x1110]
mov edx, 0x5fb410
call fcn.00405598
mov eax, dword [ebp - 0x1110]
call fcn.004c938c
mov eax, dword [0x892cb4]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_Sleep_1
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
add edx, eax
lea eax, [ebp - 0x1188]
call fcn.004032c4
mov edx, 0x5fb420
lea eax, [ebp - 0x1188]
mov cl, 0x6b
call fcn.00403294
lea edx, [ebp - 0x1188]
lea eax, [ebp - 0x111c]
call fcn.004054f0
push dword [ebp - 0x111c]
lea edx, [ebp - 0x118c]
mov eax, dword [ebp - 0x90]
call fcn.0040a78c
push dword [ebp - 0x118c]
push 0x5fadb4
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
push edx
push eax
lea eax, [ebp - 0x1190]
call fcn.0040a878
push dword [ebp - 0x1190]
lea eax, [ebp - 0x1118]
mov edx, 4
call fcn.0040560c
mov edx, dword [ebp - 0x1118]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
call fcn.0040d398
fstp qword [ebp - 0x78]
wait
imul eax, dword [ebp - 4], 0xc9
lea edx, [eax + 0x13a85e4]
lea eax, [ebp - 0x1264]
call fcn.004032c4
mov edx, 0x5fb428
lea eax, [ebp - 0x1264]
mov cl, 0xcb
call fcn.00403294
lea edx, [ebp - 0x1264]
lea eax, [ebp - 0x1198]
call fcn.004054f0
push dword [ebp - 0x1198]
lea edx, [ebp - 0x1268]
mov eax, dword [ebp - 0x90]
call fcn.0040a78c
push dword [ebp - 0x1268]
push 0x5fab6c
lea eax, [ebp - 0x1194]
mov edx, 3
call fcn.0040560c
mov edx, dword [ebp - 0x1194]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0xc9
add eax, 0x13a85e4
mov cl, 0xc8
call fcn.004032d0
jmp 0x5f3f5c
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 4]
cmp dword [eax + edx*4], 0
je 0x5f547e
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403464
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892404]
imul ecx, dword [ebp - 4], 0x651
mov ebx, dword [0x892c34]
lea esi, [edx + eax*2]
lea edi, [ebx + ecx*2]
mov ecx, 0x328
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea edi, [edx + eax*2 + 0xc2b]
mov esi, 0x5fb42c
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
mov byte [edx + eax*2 + 0xc6d], 0
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
mov ecx, dword [ebp - 8]
lea esi, [edx + eax*2]
mov edi, ecx
mov ecx, 0x328
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [0x89254c]
mov edx, dword [ebp - 4]
mov byte [eax + edx], 0
mov edx, 0x5fb434
lea eax, [ebp - 0x12f8]
call fcn.004032c4
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0x12f8]
mov cl, 0x8e
call fcn.00403294
lea edx, [ebp - 0x12f8]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
mov eax, dword [ebp + 8]
call fcn.0040528c
jmp 0x5fa6de
mov eax, dword [0x893580]
cmp dword [eax], 2
jne 0x5f6494
cmp byte [0x88a08c], 0
je 0x5f6340
mov eax, dword [ebp - 0xb4]
push eax
push dword [ebp - 0x44]
push 0x5faab0
lea edx, [ebp - 0x1300]
mov eax, dword [ebp - 0x18]
call fcn.0040a78c
push dword [ebp - 0x1300]
lea eax, [ebp - 0x12fc]
mov edx, 3
call fcn.0040560c
mov eax, dword [ebp - 0x12fc]
imul edx, dword [ebp - 0x18], 0xafc
mov ecx, dword [0x892558]
lea edx, [ecx + edx*8]
mov ecx, dword [ebp - 0x2c]
call fcn.005b1af8
test al, al
je 0x5f6340
mov eax, dword [ebp - 0x18]
inc eax
mov edx, dword [0x89285c]
cmp eax, dword [edx]
jl 0x5f5526
mov eax, dword [ebp - 0x18]
inc eax
mov edx, dword [0x89285c]
mov dword [edx], eax
mov eax, dword [0x89285c]
mov eax, dword [eax]
mov edx, dword [0x892448]
cmp dword [edx + eax*4], 9
jne 0x5f5526
mov eax, dword [0x89285c]
inc dword [eax]
imul eax, dword [ebp - 0x18], 0xafc
mov edx, dword [0x892558]
lea edx, [edx + eax*8]
mov eax, 0x5fa9ac
call fcn.00402c6c
test eax, eax
jle 0x5f5645
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
imul edx, dword [ebp - 0x18], 0xafc
mov ecx, dword [0x892558]
lea edx, [ecx + edx*8]
mov cl, 0x82
call fcn.004032d0
cmp byte [ebp - 9], 0
je 0x5f5586
call fcn.0040d398
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
add edx, eax
lea eax, [ebp - 0x1374]
call fcn.004032c4
mov edx, 0x5fb444
lea eax, [ebp - 0x1374]
mov cl, 0x6e
call fcn.00403294
lea edx, [ebp - 0x1374]
lea eax, [ebp - 0x1304]
call fcn.004054f0
lea eax, [ebp - 0x1304]
push eax
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
push edx
push eax
lea eax, [ebp - 0x1378]
call fcn.0040a878
mov edx, dword [ebp - 0x1378]
pop eax
call fcn.00405554
mov edx, dword [ebp - 0x1304]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
mov eax, dword [ebp + 8]
mov edx, 0x5fb458
call fcn.004052e0
mov eax, dword [0x89254c]
mov edx, dword [ebp - 0x18]
mov byte [eax + edx], 0
jmp 0x5f9de7
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
add edx, eax
mov eax, 0x5fb468
call fcn.00402c6c
test eax, eax
jle 0x5f5784
mov eax, dword [ebp - 8]
mov byte [eax + 0xc6d], 0
mov al, byte [ebp - 0x18]
mov edx, dword [ebp - 8]
mov byte [edx + 0xc61], al
cmp byte [ebp - 9], 0
je 0x5f5690
call fcn.0040d398
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
add edx, eax
lea eax, [ebp - 0x1374]
call fcn.004032c4
mov edx, 0x5fb444
lea eax, [ebp - 0x1374]
mov cl, 0x6e
call fcn.00403294
lea edx, [ebp - 0x1374]
lea eax, [ebp - 0x137c]
call fcn.004054f0
lea eax, [ebp - 0x137c]
push eax
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
push edx
push eax
lea eax, [ebp - 0x1380]
call fcn.0040a878
mov edx, dword [ebp - 0x1380]
pop eax
call fcn.00405554
mov edx, dword [ebp - 0x137c]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a80
mov eax, dword [ebp + 8]
call fcn.0040528c
mov eax, dword [ebp - 8]
add eax, 0xc6d
mov edx, 0x5fa9e8
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00403370
je 0x5f9de7
mov eax, dword [0x89254c]
mov edx, dword [ebp - 0x18]
mov byte [eax + edx], 0
jmp 0x5f9de7
imul eax, dword [ebp - 0x18], 0xafc
mov edx, dword [0x892558]
cmp dword [edx + eax*8 + 0x174], 0
jl 0x5f6147
imul eax, dword [ebp - 0x18], 0xafc
mov edx, dword [0x892558]
mov eax, dword [edx + eax*8 + 0x174]
cmp eax, 0xa
ja case.default.0x5f57bc
jmp dword [eax*4 + 0x5f57c3]
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
mov dword [edx + eax], 0x41544103
lea eax, [ebp - 0x48]
push eax
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 0x18]
mov eax, dword [eax + edx*4]
mov ecx, 8
mov edx, 0x99
call fcn.004057ac
mov eax, dword [ebp - 0x48]
call fcn.0040554c
test eax, eax
jle 0x5f5bbf
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x88], 1
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x88]
cmp byte [eax + edx - 1], 0
je 0x5f58d5
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
lea edi, [edx + eax]
mov esi, 0x5fb470
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor eax, eax
push ebp
push 0x5f58c6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x48]
test byte [eax], 8
je 0x5f5898
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
lea eax, [edx + eax]
mov edx, 0x5fb478
mov cl, 0x64
call fcn.00403294
jmp 0x5f58b9
mov eax, dword [ebp - 0x48]
test byte [eax], 4
je 0x5f58b9
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
lea eax, [edx + eax]
mov edx, 0x5fb480
mov cl, 0x64
call fcn.00403294
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5f5bbf
inc dword [ebp - 0x88]
dec dword [ebp - 0xbc]
jne 0x5f583e
jmp 0x5f5bbf
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
lea edi, [edx + eax]
mov esi, 0x5fb484
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x5f5bbf
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
lea edi, [edx + eax]
mov esi, 0x5fb49c
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x5f5bbf
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
lea edi, [edx + eax]
mov esi, 0x5fb4b4
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x5f5bbf
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
lea edi, [edx + eax]
mov esi, 0x5fb4c4
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]
jmp 0x5f5bbf
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
lea edi, [edx + eax]
mov esi, 0x5fb4d8
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]
imul eax, dword [ebp - 0x18], 0xafc
mov edx, dword [0x892558]
cmp byte [edx + eax*8 + 0xe0], 0x53
jne 0x5f5bbf
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
add edx, eax
lea eax, [ebp - 0x13ec]
call fcn.004032c4
mov edx, 0x5fb4ec
lea eax, [ebp - 0x13ec]
mov cl, 0x66
call fcn.00403294
lea edx, [ebp - 0x13ec]
lea eax, [ebp - 0x1384]
call fcn.004054f0
lea eax, [ebp - 0x1384]
push eax
imul eax, dword [ebp - 0x18], 0xafc
mov edx, dword [0x892558]
movzx eax, byte [edx + eax*8 + 0xdf]
lea edx, [ebp - 0x13f0]
call fcn.0040a78c
mov edx, dword [ebp - 0x13f0]
pop eax
call fcn.00405554
mov edx, dword [ebp - 0x1384]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 0x18], 0x65
mov ecx, dword [0x8922ac]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
jmp 0x5f5bbf
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
lea edi, [edx + eax]
mov esi, 0x5fb4f0
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x5f5bbf
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
lea edi, [edx + eax]
mov esi, 0x5fb508
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 - 0x18]
call fcn.005e8588
test al, al
je 0x5f5a94
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
lea eax, [edx + eax]
mov edx, 0x5fb51c
mov cl, 0x64
call fcn.00403294
mov eax, dword [ebp - 0x18]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp word [edx + eax + 0xd], 0x51
jb 0x5f5bbf
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
add edx, eax
lea eax, [ebp - 0x13ec]
call fcn.004032c4
mov edx, 0x5fb520
lea eax, [ebp - 0x13ec]
mov cl, 0x66
call fcn.00403294
lea edx, [ebp - 0x13ec]
lea eax, [ebp - 0x1458]
call fcn.004032c4
lea eax, [ebp - 0x145c]
mov edx, dword [ebp - 0x18]
mov ecx, edx
shl edx, 4
add edx, ecx
mov ecx, dword [0x892b2c]
movzx edx, word [ecx + edx + 0xd]
sub edx, 0x10
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x145c]
lea eax, [ebp - 0x1458]
mov cl, 0x67
call fcn.00403294
lea edx, [ebp - 0x1458]
lea eax, [ebp - 0x14c8]
call fcn.004032c4
mov edx, 0x5fb524
lea eax, [ebp - 0x14c8]
mov cl, 0x68
call fcn.00403294
lea edx, [ebp - 0x14c8]
imul eax, dword [ebp - 0x18], 0x65
mov ecx, dword [0x8922ac]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
jmp 0x5f5bbf
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
lea edi, [edx + eax]
mov esi, 0x5fb528
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x5f5bbf
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
lea edi, [edx + eax]
mov esi, 0x5fb540
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
jmp 0x5f5bbf
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
lea edi, [edx + eax]
mov esi, 0x5fb558
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x5f5bbf
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
mov word [edx + eax], 0x3f01
mov eax, dword [ebp - 8]
mov byte [eax + 0xc6d], 0
mov al, byte [ebp - 0x18]
mov edx, dword [ebp - 8]
mov byte [edx + 0xc61], al
lea eax, [ebp - 0x48]
mov edx, 0x5fb404
call fcn.00405324
imul eax, dword [ebp - 0x18], 0xafc
mov edx, dword [0x892558]
cmp dword [edx + eax*8 + 0x174], 0xa
jne 0x5f5c06
lea eax, [ebp - 0x48]
mov edx, 0x5fb208
call fcn.00405324
imul eax, dword [ebp - 0x18], 0xafc
mov edx, dword [0x892558]
lea edx, [edx + eax*8]
mov eax, 0x5fb564
call fcn.00402c6c
dec eax
jne 0x5f5c49
lea eax, [ebp - 0x48]
mov edx, 0x5fb574
call fcn.00405554
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
lea eax, [edx + eax]
mov edx, 0x5fb57c
mov cl, 0x64
call fcn.00403294
lea eax, [ebp - 0x4c]
call fcn.0040528c
imul eax, dword [ebp - 0x18], 0xafc
mov edx, dword [0x892558]
cmp dword [edx + eax*8 + 0x174], 0
jne 0x5f5ce2
lea eax, [ebp - 0x48]
mov edx, 0x5fb588
call fcn.00405324
mov eax, dword [ebp - 4]
lea eax, [eax + eax*2]
mov edx, dword [0x892278]
cmp byte [edx + eax + 1], 0xc8
jne 0x5f5c95
lea eax, [ebp - 0x48]
mov edx, 0x5fb598
call fcn.00405324
lea eax, [ebp - 0x14d0]
imul edx, dword [ebp - 0x18], 0x97
mov ecx, dword [0x893028]
lea edx, [ecx + edx]
call fcn.004054f0
mov eax, dword [ebp - 0x14d0]
lea edx, [ebp - 0x14cc]
call fcn.0040a048
mov edx, dword [ebp - 0x14cc]
mov eax, 0x5fb5ac
call fcn.00405890
test eax, eax
jle 0x5f5ce2
lea eax, [ebp - 0x48]
mov edx, 0x5fb5c4
call fcn.00405324
imul eax, dword [ebp - 0x18], 0xafc
mov edx, dword [0x892558]
cmp dword [edx + eax*8 + 0x174], 9
jne 0x5f5d06
lea eax, [ebp - 0x4c]
mov edx, 0x5fb5d8
call fcn.00405324
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
mov eax, 0x5fb5e0
call fcn.00402c6c
test eax, eax
jle 0x5f5d97
push dword [ebp - 0x4c]
push 0x5fab6c
lea eax, [ebp - 0x98c]
push eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
mov eax, 0x5fb5e0
call fcn.00402c6c
mov edx, eax
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
movzx ecx, byte [ecx + eax]
imul eax, dword [ebp - 4], 0x83
mov ebx, dword [0x892da8]
lea eax, [ebx + eax]
call fcn.004029c0
lea edx, [ebp - 0x98c]
lea eax, [ebp - 0x14d4]
call fcn.004054f0
push dword [ebp - 0x14d4]
lea eax, [ebp - 0x4c]
mov edx, 3
call fcn.0040560c
imul eax, dword [ebp - 0x18], 0xd
mov edx, dword [0x892fd0]
cmp byte [edx + eax*8 + 0x42], 0
jne 0x5f5db8
lea eax, [ebp - 0x4c]
mov ecx, dword [ebp - 0x4c]
mov edx, 0x5fb5ec
call fcn.00405598
push 0x5fb5fc
push dword [ebp - 0x48]
push 0x5fb60c
push dword [ebp - 0x4c]
lea eax, [ebp - 0x14d8]
mov edx, 4
call fcn.0040560c
mov edx, dword [ebp - 0x14d8]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
imul eax, dword [ebp - 0x18], 0xafc
mov edx, dword [0x892558]
lea edx, [edx + eax*8 + 0x44]
mov eax, 0x5fb614
call fcn.00402c6c
test eax, eax
jle 0x5f5ea2
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0x155c]
call fcn.004032c4
mov edx, 0x5fb61c
lea eax, [ebp - 0x155c]
mov cl, 0x83
call fcn.00403294
lea edx, [ebp - 0x155c]
lea eax, [ebp - 0x1614]
call fcn.004032c4
imul eax, dword [ebp - 0x18], 0xafc
mov edx, dword [0x892558]
lea edx, [edx + eax*8 + 0x44]
lea eax, [ebp - 0x1614]
mov cl, 0xb5
call fcn.00403294
lea edx, [ebp - 0x1614]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
imul eax, dword [ebp - 0x18], 0xafc
mov edx, dword [0x892558]
lea edx, [edx + eax*8 + 0x44]
mov eax, 0x5fb620
call fcn.00402c6c
test eax, eax
jle 0x5f5f39
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0x155c]
call fcn.004032c4
mov edx, 0x5fb61c
lea eax, [ebp - 0x155c]
mov cl, 0x83
call fcn.00403294
lea edx, [ebp - 0x155c]
lea eax, [ebp - 0x1614]
call fcn.004032c4
imul eax, dword [ebp - 0x18], 0xafc
mov edx, dword [0x892558]
lea edx, [edx + eax*8 + 0x44]
lea eax, [ebp - 0x1614]
mov cl, 0xb5
call fcn.00403294
lea edx, [ebp - 0x1614]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
cmp byte [ebp - 9], 0
je 0x5f5f50
call fcn.0040d398
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
add edx, eax
lea eax, [ebp - 0x1684]
call fcn.004032c4
mov edx, 0x5fb61c
lea eax, [ebp - 0x1684]
mov cl, 0x65
call fcn.00403294
lea edx, [ebp - 0x1684]
lea eax, [ebp - 0x161c]
call fcn.004054f0
push dword [ebp - 0x161c]
push dword [ebp - 0x48]
push 0x5fb60c
push dword [ebp - 0x4c]
push 0x5fadb4
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
push edx
push eax
lea eax, [ebp - 0x1688]
call fcn.0040a878
push dword [ebp - 0x1688]
lea eax, [ebp - 0x1618]
mov edx, 6
call fcn.0040560c
mov edx, dword [ebp - 0x1618]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a80
mov eax, dword [ebp + 8]
call fcn.0040528c
mov eax, dword [0x89254c]
mov edx, dword [ebp - 0x18]
mov byte [eax + edx], 0
mov eax, dword [0x892448]
mov edx, dword [ebp - 0x18]
cmp dword [eax + edx*4 + 4], 9
jne 0x5f9de7
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x8922ac]
lea edi, [edx + eax + 0x65]
mov esi, 0x5fb628
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
imul eax, dword [ebp - 0x18], 0x83
mov edx, dword [0x892da8]
lea edi, [edx + eax + 0x83]
mov esi, 0x5fb640
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]
cmp byte [ebp - 9], 0
je 0x5f609e
call fcn.0040d398
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 0x18]
fstp qword [eax + edx*8 + 8]
wait
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x892a3c]
lea edx, [edx + eax + 0x65]
lea eax, [ebp - 0x1700]
call fcn.004032c4
mov edx, 0x5fb654
lea eax, [ebp - 0x1700]
mov cl, 0x72
call fcn.00403294
lea edx, [ebp - 0x1700]
lea eax, [ebp - 0x168c]
call fcn.004054f0
lea eax, [ebp - 0x168c]
push eax
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
push edx
push eax
lea eax, [ebp - 0x1704]
call fcn.0040a878
mov edx, dword [ebp - 0x1704]
pop eax
call fcn.00405554
mov edx, dword [ebp - 0x168c]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 0x18], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax + 0x65]
mov cl, 0x64
call fcn.004032d0
jmp 0x5f9de7
mov eax, dword [0x89254c]
mov edx, dword [ebp - 0x18]
mov byte [eax + edx], 1
mov eax, dword [ebp - 8]
lea edi, [eax + 0xc6d]
mov esi, 0x5fa9e8
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov al, byte [ebp - 0x18]
mov edx, dword [ebp - 8]
mov byte [edx + 0xc61], al
imul eax, dword [ebp - 0x18], 0x651
mov edx, dword [0x892c34]
lea edx, [edx + eax*2]
mov eax, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a80
mov eax, dword [ebp + 8]
call fcn.0040528c
mov edx, 0x5fb664
lea eax, [ebp - 0x12f8]
call fcn.004032c4
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0x12f8]
mov cl, 0x8e
call fcn.00403294
lea edx, [ebp - 0x12f8]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
mov edx, dword [ebp - 0x50]
mov eax, 0x5faa90
call fcn.00405890
test eax, eax
jle 0x5f6283
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0x1794]
call fcn.004032c4
mov edx, 0x5fb674
lea eax, [ebp - 0x1794]
mov cl, 0x88
call fcn.00403294
lea edx, [ebp - 0x1794]
lea eax, [ebp - 0x1708]
call fcn.004054f0
lea eax, [ebp - 0x1708]
push eax
lea edx, [ebp - 0x1798]
mov eax, dword [ebp - 0x50]
call fcn.005f1fe0
mov edx, dword [ebp - 0x1798]
pop eax
call fcn.00405554
mov edx, dword [ebp - 0x1708]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
cmp byte [ebp - 9], 0
je 0x5f629a
call fcn.0040d398
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
add edx, eax
lea eax, [ebp - 0x1808]
call fcn.004032c4
mov edx, 0x5fb67c
lea eax, [ebp - 0x1808]
mov cl, 0x6a
call fcn.00403294
lea edx, [ebp - 0x1808]
lea eax, [ebp - 0x179c]
call fcn.004054f0
lea eax, [ebp - 0x179c]
push eax
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
push edx
push eax
lea eax, [ebp - 0x180c]
call fcn.0040a878
mov edx, dword [ebp - 0x180c]
pop eax
call fcn.00405554
mov edx, dword [ebp - 0x179c]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
jmp 0x5f6494
cmp byte [0x88a08c], 0
jne 0x5f6374
xor eax, eax
push ebp
push 0x5f636a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5f6374
mov eax, dword [ebp - 0x18]
inc eax
mov edx, dword [0x89285c]
cmp eax, dword [edx]
jl 0x5f638e
mov eax, dword [ebp - 0x18]
inc eax
mov edx, dword [0x89285c]
mov dword [edx], eax
mov eax, dword [0x89254c]
mov edx, dword [ebp - 0x18]
mov byte [eax + edx], 1
mov eax, dword [ebp - 8]
lea edi, [eax + 0xc6d]
mov esi, 0x5fa9e8
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov al, byte [ebp - 0x18]
mov edx, dword [ebp - 8]
mov byte [edx + 0xc61], al
mov eax, dword [ebp + 8]
call fcn.0040528c
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea edi, [edx + eax]
mov esi, 0x5fb684
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp byte [ebp - 9], 0
je 0x5f63f3
call fcn.0040d398
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
add edx, eax
lea eax, [ebp - 0x1880]
call fcn.004032c4
mov edx, 0x5fb6a0
lea eax, [ebp - 0x1880]
mov cl, 0x6f
call fcn.00403294
lea edx, [ebp - 0x1880]
lea eax, [ebp - 0x1810]
call fcn.004054f0
lea eax, [ebp - 0x1810]
push eax
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
push edx
push eax
lea eax, [ebp - 0x1884]
call fcn.0040a878
mov edx, dword [ebp - 0x1884]
pop eax
call fcn.00405554
mov edx, dword [ebp - 0x1810]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
mov eax, dword [0x893580]
cmp dword [eax], 2
je 0x5f64a7
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 4]
cmp dword [eax + edx*4], 0
je 0x5f9de7
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403464
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892404]
imul ecx, dword [ebp - 4], 0x651
mov ebx, dword [0x892c34]
lea esi, [edx + eax*2]
lea edi, [ebx + ecx*2]
mov ecx, 0x328
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea edi, [edx + eax*2 + 0xc2b]
mov esi, 0x5fb42c
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
mov byte [edx + eax*2 + 0xc6d], 0
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
mov ecx, dword [ebp - 8]
lea esi, [edx + eax*2]
mov edi, ecx
mov ecx, 0x328
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [0x89254c]
mov edx, dword [ebp - 4]
mov byte [eax + edx], 0
mov edx, 0x5fb6ac
lea eax, [ebp - 0x12f8]
call fcn.004032c4
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0x12f8]
mov cl, 0x8e
call fcn.00403294
lea edx, [ebp - 0x12f8]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
mov eax, dword [ebp + 8]
call fcn.0040528c
jmp 0x5fa6de
mov eax, dword [0x893580]
cmp dword [eax], 2
jne 0x5f65e4
cmp byte [ebp - 0x2f], 0
je 0x5f65e4
mov eax, dword [ebp - 0x18]
inc eax
mov edx, dword [0x89285c]
cmp eax, dword [edx]
jl 0x5f65e4
mov eax, dword [0x89285c]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
inc eax
mov edx, dword [0x89285c]
mov dword [edx], eax
mov eax, dword [0x893580]
cmp dword [eax], 2
je 0x5f6613
lea eax, [ebp - 0x2ec]
mov edx, 0x200
call fcn.00599660
test al, al
jne 0x5f6606
mov byte [ebp - 0x2f], 0
test byte [ebp - 0x2ec], 0x80
je 0x5f6613
mov byte [ebp - 0x2f], 0
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
add edx, eax
lea eax, [ebp - 0x1188]
call fcn.004032c4
mov edx, 0x5fb6bc
lea eax, [ebp - 0x1188]
mov cl, 0x6b
call fcn.00403294
lea edx, [ebp - 0x1188]
lea eax, [ebp - 0x1888]
call fcn.004054f0
lea eax, [ebp - 0x1888]
push eax
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
push edx
push eax
lea eax, [ebp - 0x188c]
call fcn.0040a878
mov edx, dword [ebp - 0x188c]
pop eax
call fcn.00405554
mov edx, dword [ebp - 0x1888]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
call fcn.0040d398
fstp qword [ebp - 0x78]
wait
mov eax, dword [ebp + 8]
mov edx, 0x5fb6cc
call fcn.004052e0
lea eax, [ebp - 0x1890]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
lea eax, [ebp - 0x1890]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405554
mov edx, dword [ebp - 0x1890]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
cmp byte [ebp - 0x2f], 0
jne 0x5f6a0a
push 0x5fb6d8
call sub.kernel32.dll_GetLastError_1
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x1894]
call fcn.0040a878
push dword [ebp - 0x1894]
push 0x5fb6ec
mov eax, dword [ebp + 8]
mov edx, 3
call fcn.0040560c
lea eax, [ebp - 0x1898]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
lea eax, [ebp - 0x1898]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405554
mov edx, dword [ebp - 0x1898]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
lea eax, [ebp - 0xec]
xor ecx, ecx
mov edx, 0x20
call fcn.00403464
lea eax, [ebp - 0x2fc]
xor ecx, ecx
mov edx, 0x210
call fcn.00403464
mov dword [ebp - 0xec], 0x200
mov byte [ebp - 0xe7], 1
mov byte [ebp - 0xe6], 1
mov byte [ebp - 0xe2], 0xa1
mov eax, dword [0x893580]
cmp dword [eax], 2
jne 0x5f6829
mov al, byte [ebp - 0x18]
and al, 1
shl eax, 4
or al, 0xa0
mov byte [ebp - 0xe3], al
mov al, byte [ebp - 0x18]
mov byte [ebp - 0xe0], al
jmp 0x5f684f
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0x13b5604]
mov byte [ebp - 0xe3], al
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0x13b5606]
mov byte [ebp - 0xe0], al
mov dword [ebp - 0x2fc], 0x210
mov eax, 0x5fb6fc
call fcn.004c938c
push 0
lea eax, [ebp - 0x28]
push eax
push 0x210
lea eax, [ebp - 0x2fc]
push eax
push 0x20
lea eax, [ebp - 0xec]
push eax
push 0x7c088
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_DeviceIoControl
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0x2f], al
mov eax, dword [0x893580]
cmp dword [eax], 2
je 0x5f68c4
lea eax, [ebp - 0x2ec]
mov edx, 0x200
call fcn.00599660
test al, al
jne 0x5f68b7
mov byte [ebp - 0x2f], 0
test byte [ebp - 0x2ec], 0x80
je 0x5f68c4
mov byte [ebp - 0x2f], 0
lea ecx, [ebp - 0x18a0]
xor edx, edx
mov al, byte [ebp - 0x2f]
call fcn.0040ab6c
mov ecx, dword [ebp - 0x18a0]
lea eax, [ebp - 0x189c]
mov edx, 0x5fb714
call fcn.00405598
mov eax, dword [ebp - 0x189c]
call fcn.004c938c
mov eax, dword [ebp + 8]
mov edx, 0x5fb72c
call fcn.004052e0
lea eax, [ebp - 0x18a4]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
lea eax, [ebp - 0x18a4]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405554
mov edx, dword [ebp - 0x18a4]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
add edx, eax
lea eax, [ebp - 0x1188]
call fcn.004032c4
mov edx, 0x5fb730
lea eax, [ebp - 0x1188]
mov cl, 0x6b
call fcn.00403294
lea edx, [ebp - 0x1188]
lea eax, [ebp - 0x18a8]
call fcn.004054f0
lea eax, [ebp - 0x18a8]
push eax
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
push edx
push eax
lea eax, [ebp - 0x18ac]
call fcn.0040a878
mov edx, dword [ebp - 0x18ac]
pop eax
call fcn.00405554
mov edx, dword [ebp - 0x18a8]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
call fcn.0040d398
fstp qword [ebp - 0x78]
wait
mov eax, dword [0x893580]
cmp dword [eax], 2
je 0x5f6a4c
cmp byte [ebp - 0x2f], 0
jne 0x5f6a28
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x5f9de7
mov eax, dword [ebp - 0x18]
inc eax
mov edx, dword [0x89285c]
cmp eax, dword [edx]
jl 0x5f6a4c
mov eax, dword [0x89285c]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
inc eax
mov edx, dword [0x89285c]
mov dword [edx], eax
cmp byte [ebp - 0x2f], 0
je 0x5f78b2
mov eax, dword [ebp + 8]
mov edx, 0x5fb740
call fcn.004052e0
lea eax, [ebp - 0x18b0]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
lea eax, [ebp - 0x18b0]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405554
mov edx, dword [ebp - 0x18b0]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
lea eax, [ebp - 0x58]
call fcn.0040528c
xor eax, eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x18b4]
mov edx, dword [ebp - 0x1c]
mov dl, byte [ebp + edx - 0x2ec]
call fcn.00405474
mov edx, dword [ebp - 0x18b4]
lea eax, [ebp - 0x58]
call fcn.00405554
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x200
jne 0x5f6ace
lea eax, [ebp - 0x58]
xor edx, edx
call fcn.005dbee4
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 0x18]
cmp dword [eax + edx*4], 0
jne 0x5f6b2a
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 0x18]
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0x58]
call fcn.004052e0
jmp 0x5f6b68
lea eax, [ebp - 0x18b8]
push eax
mov ecx, 1
mov edx, 0x37
mov eax, dword [ebp - 0x58]
call fcn.004057ac
mov eax, dword [ebp - 0x18b8]
mov edx, 0x5fb750
call fcn.00405698
je 0x5f6b68
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 0x18]
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0x58]
call fcn.004052e0
lea edx, [ebp - 0x18bc]
mov eax, dword [ebp - 0x58]
call fcn.0040a298
cmp dword [ebp - 0x18bc], 0
je 0x5f6b94
imul eax, dword [ebp - 0x18], 0xd
mov edx, dword [0x892fd0]
lea edx, [edx + eax*8]
mov al, byte [ebp - 0x18]
call fcn.005996b0
lea edx, [ebp - 0x18c0]
mov eax, dword [ebp - 0x40]
call fcn.0040a298
cmp dword [ebp - 0x18c0], 0
je 0x5f6cde
imul eax, dword [ebp - 0x18], 0xd
mov edx, dword [0x892fd0]
cmp byte [edx + eax*8], 0
jne 0x5f6cde
imul eax, dword [ebp - 0x18], 0xd
mov edx, dword [0x892fd0]
cmp dword [edx + eax*8 + 8], 0
jne 0x5f6cde
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
call fcn.00559600
test al, al
je 0x5f6cde
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 0x18]
lea eax, [eax + edx*4]
call fcn.0040528c
mov edx, 0x5fadb8
lea eax, [ebp - 0x18fc]
call fcn.004032c4
imul eax, dword [ebp - 0x18], 0xafc
mov edx, dword [0x892558]
lea edx, [edx + eax*8 + 0x44]
lea eax, [ebp - 0x18fc]
mov cl, 0x39
call fcn.00403294
lea edx, [ebp - 0x18fc]
lea eax, [ebp - 0x1938]
call fcn.004032c4
mov edx, 0x5fb61c
lea eax, [ebp - 0x1938]
mov cl, 0x3a
call fcn.00403294
lea edx, [ebp - 0x1938]
lea eax, [ebp - 0x19f8]
call fcn.004032c4
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0x19f8]
mov cl, 0xbc
call fcn.00403294
lea edx, [ebp - 0x19f8]
imul eax, dword [ebp - 0x18], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
mov eax, dword [ebp - 8]
lea edi, [eax + 0xc6d]
mov esi, 0x5fa9e8
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
push ebp
push 0x5f6cc7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5f6cd1
mov eax, dword [ebp + 8]
call fcn.0040528c
jmp 0x5f9de7
mov eax, dword [ebp - 0x18]
call fcn.005e1df4
test al, al
je 0x5f6d2d
push 0x5fb75c
lea edx, [ebp - 0x1a00]
mov eax, dword [ebp - 0x18]
call fcn.0040a78c
push dword [ebp - 0x1a00]
push 0x5fb778
lea eax, [ebp - 0x19fc]
mov edx, 3
call fcn.0040560c
mov eax, dword [ebp - 0x19fc]
call fcn.004c938c
mov eax, dword [ebp - 0x2c]
call fcn.0057b6c0
test al, al
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 0x18]
mov eax, dword [eax + edx*4]
call fcn.005df9d0
lea edx, [ebp - 0x1a08]
call fcn.004c0cc4
mov ecx, dword [ebp - 0x1a08]
lea eax, [ebp - 0x1a04]
mov edx, 0x5fb78c
call fcn.00405598
mov eax, dword [ebp - 0x1a04]
call fcn.004c938c
mov eax, dword [0x89285c]
mov eax, dword [eax]
dec eax
test eax, eax
jl 0x5f78b2
inc eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x18]
je 0x5f78a3
mov eax, dword [0x89254c]
mov edx, dword [ebp - 0x1c]
cmp byte [eax + edx], 0
jne 0x5f78a3
mov byte [ebp - 0x95], 0
mov eax, 0x5fb7b0
call fcn.004be23c
test al, al
je 0x5f6dcd
cmp dword [ebp - 0x1c], 0
jne 0x5f6dcd
cmp dword [ebp - 0x18], 1
jne 0x5f6dcd
mov byte [ebp - 0x95], 1
lea edx, [ebp - 0x1a0c]
mov eax, dword [ebp - 0x1c]
call fcn.005ab790
mov eax, dword [ebp - 0x1a0c]
push eax
lea edx, [ebp - 0x1a10]
mov eax, dword [ebp - 0x18]
call fcn.005ab790
mov edx, dword [ebp - 0x1a10]
pop eax
call fcn.00405698
jne 0x5f6ea3
lea edx, [ebp - 0x1a14]
mov eax, dword [ebp - 0x1c]
call fcn.005aba10
mov eax, dword [ebp - 0x1a14]
push eax
lea edx, [ebp - 0x1a18]
mov eax, dword [ebp - 0x18]
call fcn.005aba10
mov edx, dword [ebp - 0x1a18]
pop eax
call fcn.00405698
jne 0x5f6ea3
lea eax, [ebp - 0x1a1c]
push eax
lea edx, [ebp - 0x1a20]
mov eax, dword [ebp - 0x1c]
call fcn.005abcac
mov eax, dword [ebp - 0x1a20]
mov ecx, 4
mov edx, 1
call fcn.004057ac
mov eax, dword [ebp - 0x1a1c]
push eax
lea eax, [ebp - 0x1a24]
push eax
lea edx, [ebp - 0x1a28]
mov eax, dword [ebp - 0x18]
call fcn.005abcac
mov eax, dword [ebp - 0x1a28]
mov ecx, 4
mov edx, 1
call fcn.004057ac
mov edx, dword [ebp - 0x1a24]
pop eax
call fcn.00405698
jne 0x5f6ea3
mov byte [ebp - 0x95], 1
cmp byte [ebp - 0x95], 0
je 0x5f78a3
mov eax, dword [ebp - 0x1c]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax], 0
je 0x5f7362
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 0x18]
lea eax, [eax + edx*4]
call fcn.0040528c
imul eax, dword [ebp - 4], 0xd
mov edx, dword [0x892fd0]
lea eax, [edx + eax*8]
xor ecx, ecx
mov edx, 0x68
call fcn.00403464
cmp dword [ebp - 0x10], 0
jl 0x5f6f03
mov eax, dword [0x89285c]
mov edx, dword [ebp - 0x10]
mov dword [eax], edx
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea edx, [edx + eax*2]
mov eax, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a80
push 0x5fb7c4
mov eax, dword [ebp + 8]
push dword [eax]
push 0x5fb7d4
lea edx, [ebp - 0x1a2c]
mov eax, dword [ebp - 0x1c]
call fcn.0040a78c
push dword [ebp - 0x1a2c]
push 0x5fb7f8
mov eax, dword [ebp - 0x1c]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
movzx eax, byte [edx + eax + 1]
lea edx, [ebp - 0x1a30]
call fcn.0040a78c
push dword [ebp - 0x1a30]
push 0x5fb804
mov eax, dword [ebp - 0x1c]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
movzx eax, word [edx + eax + 2]
lea edx, [ebp - 0x1a34]
call fcn.0040a78c
push dword [ebp - 0x1a34]
mov eax, dword [ebp + 8]
mov edx, 8
call fcn.0040560c
lea eax, [ebp - 0xa9c]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
mov eax, 0x5fadf0
call fcn.004be23c
test al, al
je 0x5f7081
push 0x5fb810
lea edx, [ebp - 0x1a3c]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0x1a3c]
push 0x5fae14
mov eax, dword [ebp - 4]
call fcn.005dbe4c
lea edx, [ebp - 0x1a40]
call fcn.0040a78c
push dword [ebp - 0x1a40]
push 0x5fae24
mov eax, dword [ebp - 0x2c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x1a44]
call fcn.0040a878
push dword [ebp - 0x1a44]
push 0x5fae38
lea eax, [ebp - 0x1a48]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
push dword [ebp - 0x1a48]
lea eax, [ebp - 0x1a38]
mov edx, 8
call fcn.0040560c
mov eax, dword [ebp - 0x1a38]
mov dl, 1
call fcn.00561300
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
mov eax, 0x5fadf0
call fcn.004be23c
test al, al
je 0x5f70e8
push 0x5fb828
lea edx, [ebp - 0x1a50]
mov eax, dword [ebp - 0x1c]
call fcn.0040a78c
push dword [ebp - 0x1a50]
push 0x5fb84c
lea edx, [ebp - 0x1a54]
mov eax, dword [ebp - 0x18]
dec eax
call fcn.0040a78c
push dword [ebp - 0x1a54]
lea eax, [ebp - 0x1a4c]
mov edx, 4
call fcn.0040560c
mov eax, dword [ebp - 0x1a4c]
mov dl, 1
call fcn.00561300
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
dec edx
sub edx, eax
jl 0x5f9de7
inc edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax], 0
je 0x5f734e
mov eax, dword [ebp - 0x24]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax + 4], 1
jb 0x5f734e
mov eax, dword [ebp - 0x24]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax + 4], 3
ja 0x5f734e
mov eax, 0x5fadf0
call fcn.004be23c
test al, al
je 0x5f7205
push 0x5fb858
lea edx, [ebp - 0x1a5c]
mov eax, dword [ebp - 0x24]
call fcn.0040a78c
push dword [ebp - 0x1a5c]
push 0x5fb878
mov eax, dword [ebp - 0x24]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
movzx eax, byte [edx + eax + 1]
lea edx, [ebp - 0x1a60]
call fcn.0040a78c
push dword [ebp - 0x1a60]
push 0x5fb84c
lea eax, [ebp - 0x1a64]
imul edx, dword [ebp - 0x24], 0x65
mov ecx, dword [0x8922ac]
lea edx, [ecx + edx]
call fcn.004054f0
push dword [ebp - 0x1a64]
push 0x5fb884
mov eax, dword [ebp - 4]
call fcn.005dbe4c
lea edx, [ebp - 0x1a68]
call fcn.0040a78c
push dword [ebp - 0x1a68]
lea eax, [ebp - 0x1a58]
mov edx, 8
call fcn.0040560c
mov eax, dword [ebp - 0x1a58]
mov dl, 1
call fcn.00561300
mov eax, dword [ebp - 4]
call fcn.005dbe4c
mov edx, dword [ebp - 0x24]
mov ecx, edx
shl edx, 4
add edx, ecx
mov ecx, dword [0x892b2c]
mov byte [ecx + edx + 1], al
push 0x5fb894
mov eax, dword [ebp - 0x24]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
movzx eax, byte [edx + eax + 1]
lea edx, [ebp - 0x1a70]
call fcn.0040a78c
push dword [ebp - 0x1a70]
push 0x5fb804
mov eax, dword [ebp - 0x24]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
movzx eax, word [edx + eax + 2]
lea edx, [ebp - 0x1a74]
call fcn.0040a78c
push dword [ebp - 0x1a74]
push 0x5fb8ac
mov eax, dword [ebp - 0x24]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
movzx eax, byte [edx + eax + 4]
lea edx, [ebp - 0x1a78]
call fcn.0040a78c
push dword [ebp - 0x1a78]
push 0x5fb8b8
lea eax, [ebp - 0x1a6c]
mov edx, 7
call fcn.0040560c
mov edx, dword [ebp - 0x1a6c]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 0x24], 0x65
mov ecx, dword [0x8922ac]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
mov eax, 0x5fadf0
call fcn.004be23c
test al, al
je 0x5f734e
push 0x5fb8c4
lea edx, [ebp - 0x1a80]
mov eax, dword [ebp - 0x24]
call fcn.0040a78c
push dword [ebp - 0x1a80]
push 0x5fb878
lea eax, [ebp - 0x1a84]
imul edx, dword [ebp - 0x24], 0x65
mov ecx, dword [0x8922ac]
lea edx, [ecx + edx]
call fcn.004054f0
push dword [ebp - 0x1a84]
lea eax, [ebp - 0x1a7c]
mov edx, 4
call fcn.0040560c
mov eax, dword [ebp - 0x1a7c]
mov dl, 1
call fcn.00561300
inc dword [ebp - 0x24]
dec dword [ebp - 0xc0]
jne 0x5f7101
jmp 0x5f9de7
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 0x1c]
mov eax, dword [eax + edx*4]
cmp byte [eax + 3], 1
je 0x5f7427
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 0x1c]
mov edx, dword [eax + edx*4]
mov eax, dword [0x13a85e0]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x5f7427
xor eax, eax
push ebp
push 0x5f7408
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0xca2
call fcn.0040281c
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403464
imul eax, dword [ebp - 0x1c], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0xa4]
mov ecx, 0xca2
call fcn.00402a80
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 0x1c]
mov edx, dword [eax + edx*4]
mov ecx, dword [ebp - 0xa4]
mov eax, dword [0x13a85e0]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5f7427
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 0x18]
mov eax, dword [eax + edx*4]
cmp byte [eax + 3], 1
je 0x5f74ec
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 0x18]
mov edx, dword [eax + edx*4]
mov eax, dword [0x13a85e0]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x5f74ec
xor eax, eax
push ebp
push 0x5f74cd
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0xca2
call fcn.0040281c
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403464
imul eax, dword [ebp - 0x18], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0xa4]
mov ecx, 0xca2
call fcn.00402a80
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 0x18]
mov edx, dword [eax + edx*4]
mov ecx, dword [ebp - 0xa4]
mov eax, dword [0x13a85e0]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5f74ec
lea ecx, [ebp - 0x5c]
or edx, 0xffffffff
mov eax, dword [ebp - 0x1c]
call fcn.005de730
lea ecx, [ebp - 0x60]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
call fcn.005de730
mov byte [ebp - 0x95], 0
mov eax, 0x5fb7b0
call fcn.004be23c
test al, al
je 0x5f7524
mov byte [ebp - 0x95], 1
lea edx, [ebp - 0x1a88]
mov eax, dword [ebp - 0x5c]
call fcn.0040a048
mov edx, dword [ebp - 0x1a88]
mov eax, 0x5fb1f8
call fcn.00405890
test eax, eax
jle 0x5f756f
lea edx, [ebp - 0x1a8c]
mov eax, dword [ebp - 0x5c]
call fcn.0040a048
mov edx, dword [ebp - 0x1a8c]
mov eax, 0x5fb218
call fcn.00405890
test eax, eax
jle 0x5f756f
mov byte [ebp - 0x95], 1
lea edx, [ebp - 0x1a90]
mov eax, dword [ebp - 0x60]
call fcn.0040a048
mov edx, dword [ebp - 0x1a90]
mov eax, 0x5fb1f8
call fcn.00405890
test eax, eax
jle 0x5f75ba
lea edx, [ebp - 0x1a94]
mov eax, dword [ebp - 0x60]
call fcn.0040a048
mov edx, dword [ebp - 0x1a94]
mov eax, 0x5fb218
call fcn.00405890
test eax, eax
jle 0x5f75ba
mov byte [ebp - 0x95], 1
mov al, byte [ebp - 0x95]
call fcn.004c1f1c
mov edx, eax
lea eax, [ebp - 0x1a9c]
call fcn.00405474
mov ecx, dword [ebp - 0x1a9c]
lea eax, [ebp - 0x1a98]
mov edx, 0x5fb8e8
call fcn.00405598
mov eax, dword [ebp - 0x1a98]
call fcn.004c938c
cmp byte [ebp - 0x95], 0
jne 0x5f547e
mov eax, dword [ebp - 0x5c]
call fcn.0040554c
test eax, eax
jle 0x5f7618
mov eax, dword [ebp - 0x60]
call fcn.0040554c
test eax, eax
jg 0x5f761c
xor eax, eax
jmp 0x5f761e
mov al, 1
mov byte [ebp - 0x95], al
cmp byte [ebp - 0x95], 0
je 0x5f77ea
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 0x1c]
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0x5c]
call fcn.004052e0
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 0x18]
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0x60]
call fcn.004052e0
imul eax, dword [ebp - 0x1c], 0xd
mov edx, dword [0x892fd0]
lea edx, [edx + eax*8]
mov al, byte [ebp - 0x1c]
call fcn.005996b0
imul eax, dword [ebp - 0x18], 0xd
mov edx, dword [0x892fd0]
lea edx, [edx + eax*8]
mov al, byte [ebp - 0x18]
call fcn.005996b0
imul eax, dword [ebp - 0x1c], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0x1b2c]
call fcn.004032c4
mov edx, 0x5fb8f0
lea eax, [ebp - 0x1b2c]
mov cl, 0x8b
call fcn.00403294
lea edx, [ebp - 0x1b2c]
lea eax, [ebp - 0x1aa0]
call fcn.004054f0
lea eax, [ebp - 0x1aa0]
push eax
lea edx, [ebp - 0x1b30]
mov eax, dword [ebp - 0x18]
call fcn.0040a78c
mov edx, dword [ebp - 0x1b30]
pop eax
call fcn.00405554
mov edx, dword [ebp - 0x1aa0]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 0x1c], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
mov eax, dword [ebp + 8]
call fcn.0040528c
lea edx, [ebp - 0x1b38]
mov eax, dword [ebp - 0x1c]
call fcn.0040a78c
mov ecx, dword [ebp - 0x1b38]
lea eax, [ebp - 0x1b34]
mov edx, 0x5fb904
call fcn.00405598
mov edx, dword [ebp - 0x1b34]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 0x18], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
cmp byte [ebp - 9], 0
je 0x5f7788
call fcn.0040d398
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 0x1c]
fstp qword [eax + edx*8]
wait
lea eax, [ebp - 0x1b3c]
push eax
imul eax, dword [ebp - 0x1c], 0x651
mov edx, dword [0x892c34]
lea edx, [edx + eax*2]
or ecx, 0xffffffff
mov eax, dword [ebp - 0x1c]
call fcn.005de978
lea eax, [ebp - 0x1b40]
push eax
imul eax, dword [ebp - 0x18], 0x651
mov edx, dword [0x892c34]
lea edx, [edx + eax*2]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
call fcn.005de978
imul eax, dword [ebp - 0x18], 0x651
mov edx, dword [0x892c34]
mov ecx, dword [ebp - 8]
lea esi, [edx + eax*2]
mov edi, ecx
mov ecx, 0x328
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp byte [ebp - 0x95], 0
jne 0x5f787e
mov eax, dword [0x89254c]
mov edx, dword [ebp - 0x18]
mov byte [eax + edx], 1
mov eax, dword [ebp - 8]
lea edi, [eax + 0xc6d]
mov esi, 0x5fa9e8
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov al, byte [ebp - 0x18]
mov edx, dword [ebp - 8]
mov byte [edx + 0xc61], al
mov eax, dword [ebp + 8]
call fcn.0040528c
lea edx, [ebp - 0x1b48]
mov eax, dword [ebp - 0x1c]
call fcn.0040a78c
mov ecx, dword [ebp - 0x1b48]
lea eax, [ebp - 0x1b44]
mov edx, 0x5fb91c
call fcn.00405598
mov edx, dword [ebp - 0x1b44]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
cmp byte [ebp - 9], 0
je 0x5f7895
call fcn.0040d398
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 0x18]
fstp qword [eax + edx*8]
wait
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x5f9de7
inc dword [ebp - 0x1c]
dec dword [ebp - 0xbc]
jne 0x5f6d87
lea edx, [ebp - 0x1b4c]
mov eax, dword [ebp - 0x40]
call fcn.004c3440
mov edx, dword [ebp - 0x1b4c]
lea eax, [ebp - 0x40]
call fcn.00405324
lea eax, [ebp - 0x1b50]
mov ecx, dword [ebp - 0x40]
mov edx, 0x5fb938
call fcn.00405598
mov eax, dword [ebp - 0x1b50]
call fcn.004c938c
cmp dword [ebp - 4], 1
jne 0x5f794b
lea edx, [ebp - 0x1b54]
mov eax, dword [ebp - 0x40]
call fcn.0040a048
mov edx, dword [ebp - 0x1b54]
mov eax, 0x5fb94c
call fcn.00405890
test eax, eax
jle 0x5f794b
mov eax, 0x5fb960
call fcn.004be23c
test al, al
jne 0x5f794b
mov eax, 0x5fb970
call fcn.004c938c
mov eax, dword [ebp - 4]
mov dword [0x889fb4], eax
lea eax, [ebp - 0x2ec]
xor ecx, ecx
mov edx, 0x200
call fcn.00403464
jmp 0x5f8d5d
lea edx, [ebp - 0x1b58]
mov eax, dword [ebp - 4]
call fcn.0040a78c
mov eax, dword [ebp - 0x1b58]
mov edx, dword [0x13b6418]
call fcn.00405890
test eax, eax
jle 0x5f7a01
mov eax, dword [ebp + 8]
call fcn.0040528c
cmp byte [ebp - 9], 0
je 0x5f7991
call fcn.0040d398
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
mov ecx, dword [ebp - 8]
lea edi, [edx + eax*2]
mov esi, ecx
mov ecx, 0x328
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea edi, [edx + eax]
mov esi, 0x5fb980
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
push ebp
push 0x5f79f2
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5f9de7
imul eax, dword [ebp - 4], 0xd
mov edx, dword [0x892fd0]
cmp byte [edx + eax*8 + 0x42], 0
jne 0x5f7b8d
lea edx, [ebp - 0x1b5c]
mov eax, dword [ebp - 4]
call fcn.005ab790
mov eax, dword [ebp - 0x1b5c]
call fcn.005de48c
test al, al
jne 0x5f7b8d
push 0
push 0x100000
push 1
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.005fd338
call fcn.0040630c
cmp edx, 0
jne 0x5f7a63
cmp eax, 0x36b0
ja 0x5f7b8d
jmp 0x5f7a69
jg 0x5f7b8d
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 4]
call fcn.005ab790
lea eax, [ebp - 0x1b60]
push eax
mov ecx, 2
mov edx, 1
mov eax, dword [ebp - 0x54]
call fcn.004057ac
mov eax, dword [ebp - 0x1b60]
mov edx, 0x5fb9a4
call fcn.00405698
je 0x5f7b8d
lea eax, [ebp - 0x1b64]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x54]
call fcn.004057ac
mov eax, dword [ebp - 0x1b64]
mov edx, 0x5fb9b0
call fcn.00405698
je 0x5f7b8d
lea eax, [ebp - 0x1b68]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x54]
call fcn.004057ac
mov eax, dword [ebp - 0x1b68]
mov edx, 0x5fb9bc
call fcn.00405698
je 0x5f7b8d
mov eax, dword [ebp + 8]
call fcn.0040528c
cmp byte [ebp - 9], 0
je 0x5f7b20
call fcn.0040d398
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
mov ecx, dword [ebp - 8]
lea edi, [edx + eax*2]
mov esi, ecx
mov ecx, 0x328
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea edi, [edx + eax]
mov esi, 0x5fb9c0
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
xor eax, eax
push ebp
push 0x5f7b7e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5f9de7
lea edx, [ebp - 0x1b6c]
mov eax, dword [ebp - 4]
call fcn.005ab790
mov eax, dword [ebp - 0x1b6c]
call fcn.005e7e74
test al, al
je 0x5f7c3d
mov eax, dword [ebp + 8]
call fcn.0040528c
cmp byte [ebp - 9], 0
je 0x5f7bcd
call fcn.0040d398
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
mov ecx, dword [ebp - 8]
lea edi, [edx + eax*2]
mov esi, ecx
mov ecx, 0x328
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea edi, [edx + eax]
mov esi, 0x5fb9e0
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
push ebp
push 0x5f7c2e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5f9de7
lea eax, [ebp - 0xec]
xor ecx, ecx
mov edx, 0x20
call fcn.00403464
lea eax, [ebp - 0x2fc]
xor ecx, ecx
mov edx, 0x210
call fcn.00403464
xor eax, eax
mov dword [ebp - 0xec], eax
mov byte [ebp - 0xe8], 0xd8
mov byte [ebp - 0xe7], 1
mov byte [ebp - 0xe6], 1
mov byte [ebp - 0xe5], 0x4f
mov byte [ebp - 0xe4], 0xc2
mov eax, dword [0x893580]
cmp dword [eax], 2
jne 0x5f7cb1
mov al, byte [ebp - 0x18]
and al, 1
shl eax, 4
or al, 0xa0
mov byte [ebp - 0xe3], al
mov al, byte [ebp - 0x18]
mov byte [ebp - 0xe0], al
jmp 0x5f7cd7
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0x13b5604]
mov byte [ebp - 0xe3], al
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0x13b5606]
mov byte [ebp - 0xe0], al
mov byte [ebp - 0xe2], 0xb0
mov dword [ebp - 0x2fc], 0x210
mov eax, dword [0x889fb4]
cmp eax, dword [ebp - 4]
jg 0x5f7de3
push 0x5fba04
lea edx, [ebp - 0x1b74]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0x1b74]
push 0x5fba1c
lea edx, [ebp - 0x1b78]
mov eax, dword [0x889fb4]
call fcn.0040a78c
push dword [ebp - 0x1b78]
lea eax, [ebp - 0x1b70]
mov edx, 4
call fcn.0040560c
mov eax, dword [ebp - 0x1b70]
call fcn.004c938c
mov eax, 0x5fba28
call fcn.004be23c
test al, al
jne 0x5f7d74
mov eax, 0x5fba3c
call fcn.004c938c
lea eax, [ebp - 0x2ec]
xor ecx, ecx
mov edx, 0x200
call fcn.00403464
jmp 0x5f8d5d
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
lea edx, [ebp - 0x1b80]
mov eax, dword [0x889fb4]
call fcn.0040a78c
mov ecx, dword [ebp - 0x1b80]
lea eax, [ebp - 0x1b7c]
mov edx, 0x5fba58
call fcn.00405598
mov edx, dword [ebp - 0x1b7c]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
mov eax, dword [ebp + 8]
call fcn.0040528c
jmp 0x5f9de7
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 4]
mov eax, dword [eax + edx*4]
call fcn.005df9d0
test al, al
jne 0x5f7f6f
mov eax, 0x5fba70
call fcn.004c938c
push 0
lea eax, [ebp - 0x28]
push eax
push 0x10
lea eax, [ebp - 0x2fc]
push eax
push 0x20
lea eax, [ebp - 0xec]
push eax
push 0x7c084
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_DeviceIoControl
test eax, eax
jne 0x5f7ef8
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x1b88]
mov eax, dword [ebp - 0x1c]
call fcn.0040a78c
mov ecx, dword [ebp - 0x1b88]
lea eax, [ebp - 0x1b84]
mov edx, 0x5fba88
call fcn.00405598
mov eax, dword [ebp - 0x1b84]
call fcn.004c938c
push 0x5fbaa4
lea edx, [ebp - 0x1b8c]
mov eax, dword [ebp - 0x1c]
call fcn.0040a78c
push dword [ebp - 0x1b8c]
push 0x5faae8
mov eax, dword [ebp + 8]
mov edx, 3
call fcn.0040560c
lea eax, [ebp - 0x1b90]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
lea eax, [ebp - 0x1b90]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405554
mov edx, dword [ebp - 0x1b90]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
jmp 0x5f7f92
mov eax, 0x5fbab4
call fcn.004c938c
mov eax, dword [ebp + 8]
mov edx, 0x5fbac8
call fcn.004052e0
lea eax, [ebp - 0x1b94]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
lea eax, [ebp - 0x1b94]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405554
mov edx, dword [ebp - 0x1b94]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
jmp 0x5f7f92
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
lea eax, [edx + eax]
mov edx, 0x5fbacc
mov cl, 0x64
call fcn.00403294
mov eax, 0x5fbad8
call fcn.004c938c
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
add edx, eax
lea eax, [ebp - 0x1700]
call fcn.004032c4
mov edx, 0x5fbaec
lea eax, [ebp - 0x1700]
mov cl, 0x72
call fcn.00403294
lea edx, [ebp - 0x1700]
lea eax, [ebp - 0x1b98]
call fcn.004054f0
lea eax, [ebp - 0x1b98]
push eax
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
push edx
push eax
lea eax, [ebp - 0x1b9c]
call fcn.0040a878
mov edx, dword [ebp - 0x1b9c]
pop eax
call fcn.00405554
mov edx, dword [ebp - 0x1b98]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
call fcn.0040d398
fstp qword [ebp - 0x78]
wait
lea eax, [ebp - 0xec]
xor ecx, ecx
mov edx, 0x20
call fcn.00403464
lea eax, [ebp - 0x2fc]
xor ecx, ecx
mov edx, 0x210
call fcn.00403464
mov dword [ebp - 0xec], 0x200
mov byte [ebp - 0xe8], 0xd1
mov byte [ebp - 0xe7], 1
mov byte [ebp - 0xe6], 1
mov byte [ebp - 0xe5], 0x4f
mov byte [ebp - 0xe4], 0xc2
mov eax, dword [0x893580]
cmp dword [eax], 2
jne 0x5f80b2
mov al, byte [ebp - 0x18]
and al, 1
shl eax, 4
or al, 0xa0
mov byte [ebp - 0xe3], al
mov al, byte [ebp - 0x18]
mov byte [ebp - 0xe0], al
jmp 0x5f80d8
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0x13b5604]
mov byte [ebp - 0xe3], al
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0x13b5606]
mov byte [ebp - 0xe0], al
mov byte [ebp - 0xe2], 0xb0
mov dword [ebp - 0x2fc], 0x210
mov byte [ebp - 0x2d], 0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x13b5514], 0
jne 0x5f8313
mov eax, 0x5fbb04
call fcn.004c938c
call fcn.0040d398
fstp qword [ebp - 0x70]
wait
push 0
lea eax, [ebp - 0x28]
push eax
push 0x210
lea eax, [ebp - 0x2fc]
push eax
push 0x20
lea eax, [ebp - 0xec]
push eax
push 0x7c088
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_DeviceIoControl
test eax, eax
je 0x5f81fc
mov eax, 0x5fbb1c
call fcn.004c938c
mov byte [ebp - 0x2d], 1
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov edx, eax
shl eax, 5
add eax, edx
mov edx, dword [ebp - 8]
lea eax, [edx + eax*2]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x1c]
shl eax, 2
lea eax, [eax + eax*2]
mov al, byte [ebp + eax - 0x2e9]
mov edx, dword [ebp - 0xc4]
mov byte [edx + 6], al
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1e
jne 0x5f8154
mov eax, dword [ebp + 8]
mov edx, 0x5fbb30
call fcn.004052e0
lea eax, [ebp - 0x1ba0]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
lea eax, [ebp - 0x1ba0]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405554
mov edx, dword [ebp - 0x1ba0]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
jmp 0x5f8313
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x1ba8]
mov eax, dword [ebp - 0x1c]
call fcn.0040a78c
mov ecx, dword [ebp - 0x1ba8]
lea eax, [ebp - 0x1ba4]
mov edx, 0x5fbb3c
call fcn.00405598
mov eax, dword [ebp - 0x1ba4]
call fcn.004c938c
push 0x5fbb58
lea edx, [ebp - 0x1bac]
mov eax, dword [ebp - 0x1c]
call fcn.0040a78c
push dword [ebp - 0x1bac]
push 0x5fbb68
mov eax, dword [ebp + 8]
mov edx, 3
call fcn.0040560c
lea eax, [ebp - 0x1bb0]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
lea eax, [ebp - 0x1bb0]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405554
mov edx, dword [ebp - 0x1bb0]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
cmp dword [ebp - 0x1c], 0x45d
jne 0x5f8313
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
call fcn.0049b708
cmp edx, 0
jne 0x5f82e8
cmp eax, 0x1e
jbe 0x5f8313
jmp 0x5f82ea
jle 0x5f8313
mov eax, 0x5fbb74
call fcn.004c938c
mov eax, dword [ebp - 4]
mov dword [0x889fb4], eax
lea eax, [ebp - 0x2ec]
xor ecx, ecx
mov edx, 0x200
call fcn.00403464
jmp 0x5f8d5d
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
mov dword [ebp - 0x14], eax
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
add edx, eax
lea eax, [ebp - 0x1c2c]
call fcn.004032c4
mov edx, 0x5fbb88
lea eax, [ebp - 0x1c2c]
mov cl, 0x76
call fcn.00403294
lea edx, [ebp - 0x1c2c]
lea eax, [ebp - 0x1bb4]
call fcn.004054f0
lea eax, [ebp - 0x1bb4]
push eax
lea edx, [ebp - 0x1c30]
mov eax, dword [ebp - 0x14]
call fcn.0040a78c
mov edx, dword [ebp - 0x1c30]
pop eax
call fcn.00405554
mov edx, dword [ebp - 0x1bb4]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
call fcn.0040d398
fstp qword [ebp - 0x78]
wait
xor eax, eax
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xec]
xor ecx, ecx
mov edx, 0x20
call fcn.00403464
lea eax, [ebp - 0x2fc]
xor ecx, ecx
mov edx, 0x210
call fcn.00403464
mov dword [ebp - 0xec], 0x200
mov byte [ebp - 0xe8], 0xd0
mov byte [ebp - 0xe7], 1
mov byte [ebp - 0xe6], 1
mov byte [ebp - 0xe5], 0x4f
mov byte [ebp - 0xe4], 0xc2
mov eax, dword [0x893580]
cmp dword [eax], 2
jne 0x5f843f
mov al, byte [ebp - 0x18]
and al, 1
shl eax, 4
or al, 0xa0
mov byte [ebp - 0xe3], al
mov al, byte [ebp - 0x18]
mov byte [ebp - 0xe0], al
jmp 0x5f8465
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0x13b5604]
mov byte [ebp - 0xe3], al
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0x13b5606]
mov byte [ebp - 0xe0], al
mov byte [ebp - 0xe2], 0xb0
mov dword [ebp - 0x2fc], 0x210
call fcn.0040d398
fstp qword [ebp - 0x70]
wait
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0x1cc0]
call fcn.004032c4
mov edx, 0x5fbb9c
lea eax, [ebp - 0x1cc0]
mov cl, 0x84
call fcn.00403294
lea edx, [ebp - 0x1cc0]
lea eax, [ebp - 0x1c38]
call fcn.004054f0
push dword [ebp - 0x1c38]
lea edx, [ebp - 0x1cc4]
mov eax, dword [ebp - 0x90]
call fcn.0040a78c
push dword [ebp - 0x1cc4]
push 0x5fab6c
lea eax, [ebp - 0x1c34]
mov edx, 3
call fcn.0040560c
mov edx, dword [ebp - 0x1c34]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
lea edx, [ebp - 0x1ccc]
mov eax, dword [ebp - 0x90]
call fcn.0040a78c
mov ecx, dword [ebp - 0x1ccc]
lea eax, [ebp - 0x1cc8]
mov edx, 0x5fbba8
call fcn.00405598
mov eax, dword [ebp - 0x1cc8]
call fcn.004c938c
push 0
lea eax, [ebp - 0x28]
push eax
push 0x210
lea eax, [ebp - 0x2fc]
push eax
push 0x20
lea eax, [ebp - 0xec]
push eax
push 0x7c088
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_DeviceIoControl
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0x93], al
cmp dword [ebp - 4], 1
jne 0x5f85c1
mov eax, 0x5fbbc4
call fcn.004be23c
test al, al
je 0x5f85c1
lea eax, [ebp - 0x2ec]
xor ecx, ecx
mov edx, 0x200
call fcn.00403464
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
mov eax, dword [ebp - 4]
call fcn.00616530
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp byte [ebp - 0x93], 0
jne 0x5f8679
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x1cd4]
mov eax, dword [ebp - 0x1c]
call fcn.0040a78c
mov ecx, dword [ebp - 0x1cd4]
lea eax, [ebp - 0x1cd0]
mov edx, 0x5fbbd8
call fcn.00405598
mov eax, dword [ebp - 0x1cd0]
call fcn.004c938c
cmp dword [ebp - 0x1c], 0x45d
jne 0x5f8679
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
call fcn.0049b708
cmp edx, 0
jne 0x5f8636
cmp eax, 0x1e
jbe 0x5f8679
jmp 0x5f8638
jle 0x5f8679
mov eax, dword [ebp - 4]
mov dword [0x889fb4], eax
mov dword [ebp - 0x90], 0x63
lea edx, [ebp - 0x1cdc]
mov eax, dword [ebp - 4]
call fcn.0040a78c
mov ecx, dword [ebp - 0x1cdc]
lea eax, [ebp - 0x1cd8]
mov edx, 0x5fbbec
call fcn.00405598
mov eax, dword [ebp - 0x1cd8]
call fcn.004c938c
mov eax, 0x5fbc00
call fcn.004be23c
test al, al
je 0x5f8759
push 0x5fbc14
lea edx, [ebp - 0x1ce4]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0x1ce4]
push 0x5fbc24
lea edx, [ebp - 0x1ce8]
mov eax, dword [ebp - 0x90]
call fcn.0040a78c
push dword [ebp - 0x1ce8]
lea eax, [ebp - 0x1ce0]
mov edx, 4
call fcn.0040560c
mov eax, dword [ebp - 0x1ce0]
push eax
lea edx, [ebp - 0x1cec]
xor eax, eax
call fcn.004c3988
mov eax, dword [ebp - 0x1cec]
lea ecx, [ebp - 0xac]
pop edx
call fcn.004bdd94
cmp byte [ebp - 0x93], 0
jne 0x5f872e
push dword [ebp - 0xac]
push 0x5fbc30
lea edx, [ebp - 0x1cf0]
mov eax, dword [ebp - 0x1c]
call fcn.0040a78c
push dword [ebp - 0x1cf0]
lea eax, [ebp - 0xac]
mov edx, 3
call fcn.0040560c
lea eax, [ebp - 0xac]
mov edx, 0x5fbc3c
call fcn.00405554
push 0x200
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
mov eax, dword [ebp - 0xac]
call fcn.004c31f0
cmp byte [ebp - 0x93], 0
je 0x5f8783
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov edx, 0x5fbc44
mov cl, 0x82
call fcn.00403294
jmp 0x5f8822
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0x1d80]
call fcn.004032c4
mov edx, 0x5fbc4c
lea eax, [ebp - 0x1d80]
mov cl, 0x87
call fcn.00403294
lea edx, [ebp - 0x1d80]
lea eax, [ebp - 0x1cf8]
call fcn.004054f0
push dword [ebp - 0x1cf8]
lea edx, [ebp - 0x1d84]
mov eax, dword [ebp - 0x1c]
call fcn.0040a78c
push dword [ebp - 0x1d84]
push 0x5fbb68
lea eax, [ebp - 0x1cf4]
mov edx, 3
call fcn.0040560c
mov edx, dword [ebp - 0x1cf4]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
cmp byte [ebp - 0x93], 0
je 0x5f8ae1
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
mov eax, dword [ebp - 4]
call fcn.005d7ff4
mov byte [ebp - 0x2f], al
cmp byte [ebp - 0x2f], 0
je 0x5f885a
mov eax, 0x5fbc5c
call fcn.004c938c
jmp 0x5f8ae1
mov eax, 0x5fbc78
call fcn.004c938c
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov edx, 0x5fbc8c
mov cl, 0x82
call fcn.00403294
lea eax, [ebp - 0x2ec]
xor ecx, ecx
mov edx, 0x200
call fcn.00403464
push 0
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea edx, [edx + eax*2]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005e740c
test eax, eax
jle 0x5f8d5d
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a80
call fcn.0040d398
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
add edx, eax
lea eax, [ebp - 0xee0]
call fcn.004032c4
mov edx, 0x5faee0
lea eax, [ebp - 0xee0]
mov cl, 0x69
call fcn.00403294
lea edx, [ebp - 0xee0]
lea eax, [ebp - 0x1d8c]
call fcn.004054f0
push dword [ebp - 0x1d8c]
lea edx, [ebp - 0x1d90]
mov eax, dword [ebp - 0x90]
call fcn.0040a78c
push dword [ebp - 0x1d90]
push 0x5fadb4
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
push edx
push eax
lea eax, [ebp - 0x1d94]
call fcn.0040a878
push dword [ebp - 0x1d94]
lea eax, [ebp - 0x1d88]
mov edx, 4
call fcn.0040560c
mov edx, dword [ebp - 0x1d88]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
mov eax, dword [ebp - 0x50]
call fcn.0040554c
cmp eax, 0xa
jge 0x5f89f1
mov edx, 0x5fbc94
lea eax, [ebp - 0x1e2c]
call fcn.004032c4
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0x1e2c]
mov cl, 0x94
call fcn.00403294
lea edx, [ebp - 0x1e2c]
lea eax, [ebp - 0x50]
call fcn.004054f0
mov edx, dword [ebp - 0x50]
mov eax, 0x5faef0
call fcn.00405890
test eax, eax
jne 0x5f8a16
push 0
lea eax, [ebp - 0x50]
mov ecx, 0x5faf04
mov edx, 0x5faeb8
call fcn.004beee4
lea eax, [ebp - 0xa9c]
mov edx, dword [ebp - 0x50]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
mov eax, dword [ebp + 8]
call fcn.0040528c
push dword [ebp - 0x50]
push 0x5faec8
lea edx, [ebp - 0x1e34]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0x1e34]
push 0x5fae14
mov eax, dword [ebp - 4]
call fcn.005dbe4c
lea edx, [ebp - 0x1e38]
call fcn.0040a78c
push dword [ebp - 0x1e38]
push 0x5faed8
lea eax, [ebp - 0x1e3c]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
push dword [ebp - 0x1e3c]
lea eax, [ebp - 0x1e30]
mov edx, 7
call fcn.0040560c
mov eax, dword [ebp - 0x1e30]
call fcn.004c938c
cmp dword [ebp - 0x2c], 0xffffffff
je 0x5f9de7
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x5f9de7
cmp byte [ebp - 0x93], 0
jne 0x5f9266
cmp dword [ebp + 0xc], 0
jle 0x5f8cbc
mov eax, dword [ebp - 0x90]
cmp eax, dword [ebp + 0xc]
jge 0x5f8cbc
inc dword [ebp - 0x90]
mov eax, dword [0x892cb4]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_Sleep_1
lea edx, [ebp - 0x1e44]
mov eax, dword [ebp - 0x90]
call fcn.0040a78c
mov ecx, dword [ebp - 0x1e44]
lea eax, [ebp - 0x1e40]
mov edx, 0x5fbcb0
call fcn.00405598
mov eax, dword [ebp - 0x1e40]
call fcn.004c938c
imul eax, dword [ebp - 4], 0xc9
lea edx, [eax + 0x13a85e4]
lea eax, [ebp - 0x1264]
call fcn.004032c4
mov edx, 0x5fbcbc
lea eax, [ebp - 0x1264]
mov cl, 0xcb
call fcn.00403294
lea edx, [ebp - 0x1264]
lea eax, [ebp - 0x1e4c]
call fcn.004054f0
push dword [ebp - 0x1e4c]
lea edx, [ebp - 0x1e50]
mov eax, dword [ebp - 0x90]
call fcn.0040a78c
push dword [ebp - 0x1e50]
push 0x5fab6c
lea eax, [ebp - 0x1e48]
mov edx, 3
call fcn.0040560c
mov edx, dword [ebp - 0x1e48]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0xc9
add eax, 0x13a85e4
mov cl, 0xc8
call fcn.004032d0
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
add edx, eax
lea eax, [ebp - 0x1ed0]
call fcn.004032c4
mov edx, 0x5fbcc0
lea eax, [ebp - 0x1ed0]
mov cl, 0x77
call fcn.00403294
lea edx, [ebp - 0x1ed0]
lea eax, [ebp - 0x1e58]
call fcn.004054f0
push dword [ebp - 0x1e58]
lea edx, [ebp - 0x1ed4]
mov eax, dword [ebp - 0x90]
call fcn.0040a78c
push dword [ebp - 0x1ed4]
push 0x5fadb4
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
push edx
push eax
lea eax, [ebp - 0x1ed8]
call fcn.0040a878
push dword [ebp - 0x1ed8]
lea eax, [ebp - 0x1e54]
mov edx, 4
call fcn.0040560c
mov edx, dword [ebp - 0x1e54]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
call fcn.0040d398
fstp qword [ebp - 0x78]
wait
jmp 0x5f83c9
push 0x5fbcdc
call sub.kernel32.dll_GetLastError_1
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x1edc]
call fcn.0040a878
push dword [ebp - 0x1edc]
push 0x5faae8
mov eax, dword [ebp + 8]
mov edx, 3
call fcn.0040560c
lea eax, [ebp - 0x1ee0]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
lea eax, [ebp - 0x1ee0]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405554
mov edx, dword [ebp - 0x1ee0]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
lea eax, [ebp - 0x2ec]
xor ecx, ecx
mov edx, 0x200
call fcn.00403464
mov eax, 0x5fbcec
call fcn.004c938c
push 0
lea eax, [ebp - 0x28]
push eax
push 0x204
lea eax, [ebp - 0x500]
push eax
push 0
push 0
push 0x2d1100
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_DeviceIoControl
test eax, eax
je 0x5f8e7e
mov eax, 0x5fbd04
call fcn.004c938c
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov edx, 0x5fbd10
mov cl, 0x82
call fcn.00403294
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov al, byte [ebp + eax - 0x4fc]
mov edx, dword [ebp - 0x1c]
mov byte [ebp + edx - 0x2ec], al
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x200
jne 0x5f8dbe
lea eax, [ebp - 0xb0]
mov edx, 0x5fbd20
call fcn.00405324
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov eax, 0x5fad98
call fcn.00405890
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jle 0x5f8e30
lea eax, [ebp - 0x1ee4]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, 0x32
mov edx, dword [ebp - 0x1c]
call fcn.004057ac
mov edx, dword [ebp - 0x1ee4]
lea eax, [ebp - 0xb0]
call fcn.00405554
mov eax, dword [ebp + 8]
call fcn.0040528c
cmp dword [ebp - 4], 1
jne 0x5f9266
mov eax, 0x5fbbc4
call fcn.004be23c
test al, al
je 0x5f9266
lea eax, [ebp - 0x2ec]
xor ecx, ecx
mov edx, 0x200
call fcn.00403464
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
mov eax, dword [ebp - 4]
call fcn.00616530
jmp 0x5f9266
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x1c], eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0xda0]
call fcn.004032c4
mov edx, 0x5fbd28
lea eax, [ebp - 0xda0]
mov cl, 0x89
call fcn.00403294
lea edx, [ebp - 0xda0]
lea eax, [ebp - 0x1eec]
call fcn.004054f0
push dword [ebp - 0x1eec]
lea edx, [ebp - 0x1ef0]
mov eax, dword [ebp - 0x1c]
call fcn.0040a78c
push dword [ebp - 0x1ef0]
push 0x5fbd38
lea eax, [ebp - 0x1ee8]
mov edx, 3
call fcn.0040560c
mov edx, dword [ebp - 0x1ee8]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
push 0x5fbd44
lea edx, [ebp - 0x1ef8]
mov eax, dword [ebp - 0x1c]
call fcn.0040a78c
push dword [ebp - 0x1ef8]
push 0x5fbd38
lea eax, [ebp - 0x1ef4]
mov edx, 3
call fcn.0040560c
mov eax, dword [ebp - 0x1ef4]
call fcn.004c938c
cmp dword [ebp - 0x1c], 0x45d
jne 0x5f90a8
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
call fcn.00578fd4
test al, al
je 0x5f90a8
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
add edx, eax
lea eax, [ebp - 0x1f78]
call fcn.004032c4
mov edx, 0x5fbd50
lea eax, [ebp - 0x1f78]
mov cl, 0x79
call fcn.00403294
lea edx, [ebp - 0x1f78]
lea eax, [ebp - 0x1efc]
call fcn.004054f0
lea eax, [ebp - 0x1efc]
push eax
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
push edx
push eax
lea eax, [ebp - 0x1f7c]
call fcn.0040a878
mov edx, dword [ebp - 0x1f7c]
pop eax
call fcn.00405554
mov edx, dword [ebp - 0x1efc]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
mov edx, 0x5fbd68
lea eax, [ebp - 0x2010]
call fcn.004032c4
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0x2010]
mov cl, 0x90
call fcn.00403294
lea edx, [ebp - 0x2010]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
mov ecx, dword [ebp - 8]
lea esi, [edx + eax*2]
mov edi, ecx
mov ecx, 0x328
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [0x89254c]
mov edx, dword [ebp - 4]
mov byte [eax + edx], 0
mov eax, dword [ebp + 8]
call fcn.0040528c
jmp 0x5f9de7
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
push 0x5fbd80
lea edx, [ebp - 0x2014]
mov eax, dword [ebp - 0x1c]
call fcn.0040a78c
push dword [ebp - 0x2014]
push 0x5faae8
mov eax, dword [ebp + 8]
mov edx, 3
call fcn.0040560c
mov edx, 0x5fbd8c
lea eax, [ebp - 0x20a8]
call fcn.004032c4
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0x20a8]
mov cl, 0x8d
call fcn.00403294
lea edx, [ebp - 0x20a8]
lea eax, [ebp - 0x2018]
call fcn.004054f0
lea eax, [ebp - 0x2018]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405554
mov edx, dword [ebp - 0x2018]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
add edx, eax
lea eax, [ebp - 0x1f78]
call fcn.004032c4
mov edx, 0x5fbd98
lea eax, [ebp - 0x1f78]
mov cl, 0x79
call fcn.00403294
lea edx, [ebp - 0x1f78]
lea eax, [ebp - 0x20ac]
call fcn.004054f0
lea eax, [ebp - 0x20ac]
push eax
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
push edx
push eax
lea eax, [ebp - 0x20b0]
call fcn.0040a878
mov edx, dword [ebp - 0x20b0]
pop eax
call fcn.00405554
mov edx, dword [ebp - 0x20ac]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea edi, [edx + eax*2 + 0xc2b]
mov esi, 0x5fb42c
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
mov byte [edx + eax*2 + 0xc6d], 0
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
mov ecx, dword [ebp - 8]
lea esi, [edx + eax*2]
mov edi, ecx
mov ecx, 0x328
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [0x89254c]
mov edx, dword [ebp - 4]
mov byte [eax + edx], 0
mov eax, dword [ebp + 8]
call fcn.0040528c
jmp 0x5f9de7
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x892a3c]
add edx, eax
lea eax, [ebp - 0x1700]
call fcn.004032c4
mov edx, 0x5fbdb0
lea eax, [ebp - 0x1700]
mov cl, 0x72
call fcn.00403294
lea edx, [ebp - 0x1700]
lea eax, [ebp - 0x20b4]
call fcn.004054f0
lea eax, [ebp - 0x20b4]
push eax
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.0049b738
push edx
push eax
lea eax, [ebp - 0x20b8]
call fcn.0040a878
mov edx, dword [ebp - 0x20b8]
pop eax
call fcn.00405554
mov edx, dword [ebp - 0x20b4]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x892a3c]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032d0
cmp byte [ebp - 0x2d], 0
jne 0x5f9320
cmp dword [ebp - 0x14], 0xbb8
jle 0x5f9320
mov eax, dword [ebp - 4]
mov byte [eax + 0x13b5514], 1
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
mov eax, dword [ebp - 4]
call fcn.005d7ff4
test al, al
je 0x5f979b
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov edx, 0x5fbdc0
mov cl, 0x82
call fcn.00403294
mov dword [ebp - 0x1c], 0x16a
imul eax, dword [ebp - 4], 0x4b
mov edx, dword [0x893528]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov cl, byte [ebp + ecx - 0x2ec]
mov byte [eax + edx - 0x16a], cl
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x200
jne 0x5f935e
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 4]
call fcn.005abf30
lea edx, [ebp - 0x58]
mov eax, dword [ebp - 0x54]
call fcn.005ac2dc
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov edx, eax
shl eax, 5
add eax, edx
mov edx, dword [ebp - 8]
lea eax, [edx + eax*2]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x1c]
shl eax, 2
lea eax, [eax + eax*2]
mov al, byte [ebp + eax - 0x2e7]
mov edx, dword [ebp - 0xc8]
mov byte [edx + 4], al
mov eax, dword [ebp - 0x1c]
shl eax, 2
lea eax, [eax + eax*2]
mov al, byte [ebp + eax - 0x2ea]
mov edx, dword [ebp - 0xc8]
mov byte [edx + 1], al
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 1], 1
jne 0x5f944f
lea edx, [ebp - 0x20bc]
mov eax, dword [ebp - 0x54]
call fcn.0040a048
mov edx, dword [ebp - 0x20bc]
mov eax, 0x5fbdd0
call fcn.00405890
test eax, eax
jle 0x5f944f
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 4], 0
jne 0x5f944f
mov eax, dword [ebp - 0xc8]
mov al, byte [eax + 6]
mov edx, dword [ebp - 0xc8]
cmp al, byte [edx + 4]
jbe 0x5f944f
mov eax, dword [ebp - 0xc8]
mov al, byte [eax + 6]
inc eax
mov edx, dword [ebp - 0xc8]
mov byte [edx + 4], al
mov eax, dword [ebp - 0x1c]
shl eax, 2
lea eax, [eax + eax*2]
movzx eax, byte [ebp + eax - 0x2e9]
mov edx, dword [ebp - 0x1c]
shl edx, 2
lea edx, [edx + edx*2]
movzx edx, byte [ebp + edx - 0x2e8]
shl edx, 8
add ax, dx
mov edx, dword [ebp - 0xc8]
mov word [edx + 2], ax
mov eax, dword [ebp - 0x1c]
shl eax, 2
lea eax, [eax + eax*2]
mov al, byte [ebp + eax - 0x2e6]
mov edx, dword [ebp - 0xc8]
mov byte [edx + 5], al
lea ecx, [ebp - 0x2e]
mov eax, dword [ebp - 0xc8]
xor edx, edx
mov dl, byte [eax + 1]
mov eax, dword [ebp - 0x58]
call fcn.005ab50c
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [0x892684]
mov eax, dword [eax]
cdq
add dword [ebp - 0x38], eax
adc dword [ebp - 0x34], edx
push 0
push 0x1000000
mov eax, dword [ebp - 0x1c]
shl eax, 2
lea eax, [eax + eax*2]
movzx eax, byte [ebp + eax - 0x2e2]
xor edx, edx
call fcn.004062e8
push edx
push eax
mov eax, dword [ebp - 0x1c]
shl eax, 2
lea eax, [eax + eax*2]
movzx eax, byte [ebp + eax - 0x2e5]
xor edx, edx
add eax, dword [ebp - 0x38]
adc edx, dword [ebp - 0x34]
push edx
push eax
mov eax, dword [ebp - 0x1c]
shl eax, 2
lea eax, [eax + eax*2]
movzx eax, byte [ebp + eax - 0x2e4]
shl eax, 8
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, dword [ebp - 0x1c]
shl eax, 2
lea eax, [eax + eax*2]
movzx eax, byte [ebp + eax - 0x2e3]
shl eax, 0x10
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
push 0
push pe_nt_image_headers32
push 0
push 0x1000000
mov eax, dword [ebp - 0x1c]
shl eax, 2
lea eax, [eax + eax*2]
movzx eax, byte [ebp + eax - 0x2e1]
xor edx, edx
call fcn.004062e8
call fcn.004062e8
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
push 0
push 0x10000
push 0
push 0x1000000
mov eax, dword [ebp - 0x1c]
shl eax, 2
lea eax, [eax + eax*2]
movzx eax, byte [ebp + eax - 0x2e0]
xor edx, edx
call fcn.004062e8
call fcn.004062e8
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], 0
jne 0x5f95ce
cmp dword [ebp - 0x38], 0
jae 0x5f95de
jmp 0x5f95d0
jge 0x5f95de
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
push 0
push pe_nt_image_headers32
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
call fcn.00406388
mov edx, dword [ebp - 0xc8]
mov byte [edx + 7], al
push 0
push pe_nt_image_headers32
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
shrd eax, edx, 8
shr edx, 8
call fcn.00406388
mov edx, dword [ebp - 0xc8]
mov byte [edx + 8], al
push 0
push pe_nt_image_headers32
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
shrd eax, edx, 0x10
shr edx, 0x10
call fcn.00406388
mov edx, dword [ebp - 0xc8]
mov byte [edx + 9], al
push 0
push pe_nt_image_headers32
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
shrd eax, edx, 0x18
shr edx, 0x18
call fcn.00406388
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0xa], al
push 0
push pe_nt_image_headers32
mov eax, dword [ebp - 0x34]
xor edx, edx
call fcn.00406388
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0xb], al
push 0
push pe_nt_image_headers32
mov eax, dword [ebp - 0x34]
shr eax, 8
xor edx, edx
call fcn.00406388
mov edx, dword [ebp - 0xc8]
mov byte [edx + 0xc], al
mov eax, dword [ebp - 0xc8]
mov cl, byte [eax + 4]
mov eax, dword [ebp - 0xc8]
mov dl, byte [eax + 6]
mov eax, dword [ebp - 0xc8]
mov al, byte [eax + 1]
call fcn.005df990
mov edx, dword [ebp - 0xc8]
mov byte [edx], al
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x40], 0
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 6], 0
jne 0x5f96ec
mov eax, dword [ebp - 0xc8]
lea edi, [eax + 0xd]
mov esi, 0x5fbdd8
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]
jmp 0x5f977f
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 6], 0xff
jne 0x5f9711
mov eax, dword [ebp - 0xc8]
lea edi, [eax + 0xd]
mov esi, 0x5fbdec
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x5f977f
mov eax, dword [ebp - 0xc8]
mov al, byte [eax + 4]
mov edx, dword [ebp - 0xc8]
cmp al, byte [edx + 6]
jbe 0x5f9738
mov eax, dword [ebp - 0xc8]
lea edi, [eax + 0xd]
mov esi, 0x5fbe04
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x5f977f
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x40], 1
mov eax, dword [ebp - 0xc8]
test byte [eax + 2], 1
jne 0x5f9768
mov eax, dword [ebp - 0xc8]
lea edi, [eax + 0xd]
mov esi, 0x5fbe08
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x5f977f
mov eax, dword [ebp - 0xc8]
lea edi, [eax + 0xd]
mov esi, 0x5fbe28
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x1e
jne 0x5f93a6
mov edx, dword [ebp - 8]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e4db4
jmp 0x5f9811
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov edx, 0x5fbe54
mov cl, 0x82
call fcn.00403294
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
mov ecx, dword [ebp - 8]
lea esi, [edx + eax*2]
mov edi, ecx
mov ecx, 0x328
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push dword [ebp - 0xb0]
push 0x5fab6c
lea eax, [ebp - 0x20c0]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
push dword [ebp - 0x20c0]
lea eax, [ebp - 0xb0]
mov edx, 3
call fcn.0040560c
mov eax, dword [ebp + 8]
call fcn.0040528c
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
mov eax, 0x5fbe5c
call fcn.00402c6c
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jle 0x5f98fb
push dword [ebp - 0xb0]
push 0x5fab6c
lea eax, [ebp - 0x98c]
push eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov ecx, 0xe
mov edx, dword [ebp - 0x1c]
call fcn.004029c0
lea edx, [ebp - 0x98c]
lea eax, [ebp - 0x20c4]
call fcn.004054f0
push dword [ebp - 0x20c4]
lea eax, [ebp - 0xb0]
mov edx, 3
call fcn.0040560c
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
mov eax, 0x5fbe60
call fcn.00402c6c
test eax, eax
jle 0x5f98fb
lea eax, [ebp - 0x98c]
push eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov edx, dword [ebp - 0x1c]
add edx, 0xe
mov ecx, 0xc8
call fcn.004029c0
lea edx, [ebp - 0x98c]
lea eax, [ebp - 0x20c8]
call fcn.004054f0
mov edx, dword [ebp - 0x20c8]
lea eax, [ebp - 0xb0]
call fcn.00405554
lea eax, [ebp - 0x20cc]
mov ecx, dword [ebp - 0xb0]
mov edx, 0x5faaf4
call fcn.00405598
mov edx, dword [ebp - 0x20cc]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
mov ecx, dword [ebp - 8]
lea edi, [edx + eax*2]
mov esi, ecx
mov ecx, 0x328
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x5f9de7
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x1c], eax
mov eax, 0x5faa80
call fcn.004be23c
test al, al
je 0x5f9993
cmp dword [ebp - 4], 0
jne 0x5f9993
mov dword [ebp - 0x1c], 5
mov eax, 0x5faa80
call fcn.004be23c
test al, al
je 0x5f99b2
cmp dword [ebp - 4], 7
jne 0x5f99b2
mov eax, dword [0x89285c]
mov dword [eax], 8
cmp byte [0x889fb0], 2
jae 0x5f99c8
cmp dword [ebp - 4], 1
jne 0x5f99c8
mov dword [ebp - 0x1c], 0x20
cmp dword [ebp - 0x1c], 0x20
jne 0x5f9d56
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x892b2c]
cmp byte [edx + eax], 0
jne 0x5f384d
xor eax, eax
mov al, byte [0x889fb0]
cmp eax, dword [ebp - 0x90]
jle 0x5f9adc
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
call fcn.0049b738
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x90]
mov eax, dword [0x892cb4]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_Sleep_1
lea eax, [ebp - 0x20d4]
imul edx, dword [ebp - 4], 0xc9
add edx, 0x13a85e4
call fcn.004054f0
push dword [ebp - 0x20d4]
lea edx, [ebp - 0x20d8]
mov eax, dword [ebp - 0x1c]
call fcn.0040a78c
push dword [ebp - 0x20d8]
push 0x5fbe6c
lea edx, [ebp - 0x20dc]
mov eax, dword [ebp - 0x90]
call fcn.0040a78c
push dword [ebp - 0x20dc]
push 0x5fbe78
lea edx, [ebp - 0x20e0]
mov eax, dword [ebp - 0x20]
call fcn.0040a78c
push dword [ebp - 0x20e0]
push 0x5fab6c
lea eax, [ebp - 0x20d0]
mov edx, 7
call fcn.0040560c
mov edx, dword [ebp - 0x20d0]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0xc9
add eax, 0x13a85e4
mov cl, 0xc8
call fcn.004032d0
jmp 0x5f2ac7
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 4]
cmp dword [eax + edx*4], 0
jne 0x5f9c8d
cmp dword [ebp - 0x1c], 0x20
jne 0x5f9c8d
mov eax, dword [ebp - 4]
call fcn.005e0854
test al, al
jne 0x5f9c8d
push 0
push 0
push 3
push 0
mov eax, dword [ebp - 0xa8]
push eax
push 0
mov eax, dword [ebp - 0x18]
call fcn.005dbe4c
lea edx, [ebp - 0x20e8]
call fcn.0040a78c
mov ecx, dword [ebp - 0x20e8]
lea eax, [ebp - 0x20e4]
mov edx, 0x5faab0
call fcn.00405598
mov eax, dword [ebp - 0x20e4]
call fcn.0040574c
push eax
call sub.kernel32.dll_CreateFileA_1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x20f0]
call fcn.0040a878
mov ecx, dword [ebp - 0x20f0]
lea eax, [ebp - 0x20ec]
mov edx, 0x5fbe84
call fcn.00405598
mov eax, dword [ebp - 0x20ec]
call fcn.004c938c
cmp dword [ebp - 0x2c], 0xffffffff
je 0x5f9c8d
lea eax, [ebp - 0x9f]
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x9e]
lea edx, [ebp - 0x9d]
mov eax, dword [ebp - 0x2c]
call fcn.005dd9c8
mov byte [ebp - 0x94], al
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
mov dword [ebp - 0x2c], 0xffffffff
cmp byte [ebp - 0x94], 0
je 0x5f9c83
push 0x5fbe9c
lea edx, [ebp - 0x20f8]
xor eax, eax
mov al, byte [ebp - 0x9d]
call fcn.0040a78c
push dword [ebp - 0x20f8]
push 0x5fab6c
lea edx, [ebp - 0x20fc]
xor eax, eax
mov al, byte [ebp - 0x9e]
call fcn.0040a78c
push dword [ebp - 0x20fc]
push 0x5fab6c
lea edx, [ebp - 0x2100]
xor eax, eax
mov al, byte [ebp - 0x9f]
call fcn.0040a78c
push dword [ebp - 0x2100]
push 0x5fab6c
lea edx, [ebp - 0x2104]
xor eax, eax
mov al, byte [ebp - 0xa0]
call fcn.0040a78c
push dword [ebp - 0x2104]
lea eax, [ebp - 0x20f4]
mov edx, 8
call fcn.0040560c
mov eax, dword [ebp - 0x20f4]
call fcn.004c938c
xor eax, eax
mov al, byte [ebp - 0x9d]
add eax, 0xf4240
mov dword [ebp - 0xb4], eax
jmp 0x5f547e
mov eax, 0x5fbeb4
call fcn.004c938c
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 4]
cmp dword [eax + edx*4], 0
jne 0x5f9cf3
mov dword [ebp - 0x20], 1
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 4]
lea eax, [eax + edx*4]
mov edx, 0x5fb750
call fcn.00405554
mov eax, dword [0x8929d8]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x201
jne 0x5f9ca2
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403464
mov eax, dword [ebp - 8]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403464
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea edi, [edx + eax]
mov esi, 0x5fbec4
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 4]
cmp dword [eax*4 + 0x13b4254], 0
jne 0x5f2600
push 0
push 0x100000
push 1
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.005fd338
call fcn.0040630c
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jle 0x5f2600
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
mov dword [eax*4 + 0x13b4254], edx
jmp 0x5f2600
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0xfbc]
call fcn.004032c4
mov edx, 0x5fbecc
lea eax, [ebp - 0xfbc]
mov cl, 0x86
call fcn.00403294
lea edx, [ebp - 0xfbc]
lea eax, [ebp - 0x2108]
call fcn.004054f0
lea eax, [ebp - 0x2108]
push eax
lea edx, [ebp - 0x210c]
mov eax, dword [ebp - 0x1c]
call fcn.0040a78c
mov edx, dword [ebp - 0x210c]
pop eax
call fcn.00405554
mov edx, dword [ebp - 0x2108]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
lea edx, [ebp - 0x58]
mov eax, dword [ebp - 4]
call fcn.00508f40
mov edx, dword [ebp - 0x58]
mov eax, 0x5fbedc
call fcn.00405890
test eax, eax
jg 0x5f9e14
mov edx, dword [ebp - 0x58]
mov eax, 0x5fbeec
call fcn.00405890
test eax, eax
jle 0x5f9e1c
mov eax, dword [ebp - 4]
call fcn.005f032c
cmp dword [ebp - 4], 1
jne 0x5f9fcd
mov eax, 0x5fbefc
call fcn.004be23c
test al, al
jne 0x5f9e41
cmp byte [0x88a090], 0
je 0x5f9fcd
mov eax, 0x5fbbc4
call fcn.004be23c
test al, al
je 0x5f9e75
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
mov edx, dword [0x892c34]
add edx, 0x99f66
mov ecx, 0xca2
call fcn.00402a80
mov edx, dword [ebp - 4]
mov eax, 0x5fb0c0
call fcn.00615874
lea eax, [ebp - 0x900]
xor ecx, ecx
mov edx, 0x400
call fcn.00403464
mov byte [ebp - 0x900], 0xa
mov byte [ebp - 0x8fe], 1
mov byte [ebp - 0x8fd], 0x7f
mov byte [ebp - 0x8fc], 0xff
lea edx, [ebp - 0x900]
mov ecx, 0x3ff
mov eax, dword [ebp - 4]
call fcn.005d7ff4
mov eax, 0x5fbbc4
call fcn.004be23c
test al, al
je 0x5f9ef5
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea edx, [edx + eax*2]
mov eax, dword [0x892c34]
add eax, 0x99f66
mov ecx, 0xca2
call fcn.00402a80
lea eax, [ebp - 0x58]
mov edx, dword [0x8929d8]
mov edx, dword [edx + 4]
call fcn.00405324
lea eax, [ebp - 0x58]
xor edx, edx
call fcn.005dbee4
mov edx, dword [ebp - 0x58]
mov eax, 0x5fbf10
call fcn.00405890
test eax, eax
jg 0x5f9f65
mov edx, dword [ebp - 0x58]
mov eax, 0x5fbf24
call fcn.00405890
test eax, eax
jg 0x5f9f65
mov edx, dword [ebp - 0x58]
mov eax, 0x5fbf3c
call fcn.00405890
test eax, eax
jg 0x5f9f65
mov edx, dword [ebp - 0x58]
mov eax, 0x5fbf4c
call fcn.00405890
test eax, eax
jg 0x5f9f65
mov edx, dword [ebp - 0x58]
mov eax, 0x5fbf5c
call fcn.00405890
test eax, eax
jle 0x5f9f75
mov eax, dword [0x8929d8]
add eax, 4
mov edx, dword [ebp - 0x58]
call fcn.004052e0
mov edx, dword [ebp - 0x58]
mov eax, 0x5fbf6c
call fcn.00405890
test eax, eax
jle 0x5f9f96
mov eax, dword [0x8929d8]
add eax, 4
mov edx, dword [ebp - 0x58]
call fcn.004052e0
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea edx, [edx + eax*2]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005e4db4
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x892c34]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a80
lea edx, [ebp - 0x2110]
mov eax, dword [ebp - 4]
call fcn.005ab790
mov eax, dword [ebp - 0x2110]
lea edx, [ebp - 0x58]
call fcn.0040a048
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x58]
call fcn.006292cc
test al, al
je 0x5fa06b
mov edx, 0x5fa994
lea eax, [ebp - 0x1d80]
call fcn.004032c4
lea eax, [ebp - 0x98c]
push eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov ecx, 0xfa
mov edx, 6
call fcn.004029c0
lea edx, [ebp - 0x98c]
lea eax, [ebp - 0x1d80]
mov cl, 0x87
call fcn.00403294
lea edx, [ebp - 0x1d80]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
mov eax, dword [ebp + 8]
mov edx, 0x5fa9a4
call fcn.004052e0
cmp dword [ebp - 4], 1
jne 0x5fa08c
mov eax, 0x5fbf7c
call fcn.004be23c
test al, al
je 0x5fa08c
lea eax, [ebp - 0x58]
mov edx, 0x5fbf8c
call fcn.00405324
mov edx, dword [ebp - 0x58]
mov eax, 0x5fbfa8
call fcn.00405890
test eax, eax
jle 0x5fa131
mov edx, dword [ebp - 0x58]
mov eax, 0x5fbfb8
call fcn.00405890
test eax, eax
jle 0x5fa131
mov eax, dword [ebp - 4]
call fcn.006220b8
test eax, eax
jle 0x5fa131
mov edx, 0x5fa994
lea eax, [ebp - 0x1d80]
call fcn.004032c4
lea eax, [ebp - 0x98c]
push eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov ecx, 0xfa
mov edx, 6
call fcn.004029c0
lea edx, [ebp - 0x98c]
lea eax, [ebp - 0x1d80]
mov cl, 0x87
call fcn.00403294
lea edx, [ebp - 0x1d80]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
mov eax, dword [ebp + 8]
mov edx, 0x5fa9a4
call fcn.004052e0
cmp dword [ebp - 4], 1
jne 0x5fa152
mov eax, 0x5fbfc8
call fcn.004be23c
test al, al
je 0x5fa152
lea eax, [ebp - 0x58]
mov edx, 0x5fbfd8
call fcn.00405324
mov byte [ebp - 0x30], 0
lea edx, [ebp - 0x2114]
mov eax, dword [ebp - 0x58]
call fcn.0040a048
mov edx, dword [ebp - 0x2114]
mov eax, 0x5fb208
call fcn.00405890
test eax, eax
jle 0x5fa19e
mov edx, dword [ebp - 0x58]
mov eax, 0x5fbff8
call fcn.00405890
test eax, eax
jg 0x5fa19a
mov edx, dword [ebp - 0x58]
mov eax, 0x5fc008
call fcn.00405890
test eax, eax
jle 0x5fa19e
mov byte [ebp - 0x30], 1
mov edx, dword [ebp - 0x58]
mov eax, 0x5fc018
call fcn.00405890
test eax, eax
jle 0x5fa1b3
mov byte [ebp - 0x30], 1
lea eax, [ebp - 0x2118]
push eax
mov eax, dword [0x8929d8]
mov edx, dword [ebp - 4]
mov eax, dword [eax + edx*4]
mov ecx, 4
mov edx, 0x101
call fcn.004057ac
mov eax, dword [ebp - 0x2118]
mov edx, 0x5fc028
call fcn.00405698
jne 0x5fa1ea
mov byte [ebp - 0x30], 1
cmp byte [ebp - 0x30], 0
je 0x5fa26f
mov eax, dword [ebp - 4]
call fcn.00623618
test eax, eax
jle 0x5fa26f
mov edx, 0x5fa994
lea eax, [ebp - 0x1d80]
call fcn.004032c4
lea eax, [ebp - 0x98c]
push eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov ecx, 0xfa
mov edx, 6
call fcn.004029c0
lea edx, [ebp - 0x98c]
lea eax, [ebp - 0x1d80]
mov cl, 0x87
call fcn.00403294
lea edx, [ebp - 0x1d80]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
mov eax, dword [ebp + 8]
mov edx, 0x5fa9a4
call fcn.004052e0
xor eax, eax
push ebp
push 0x5fa339
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
call fcn.004c9570
push edx
push eax
lea eax, [ebp - 0x58]
call fcn.0040a878
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0xfbc]
call fcn.004032c4
mov edx, 0x5fc030
lea eax, [ebp - 0xfbc]
mov cl, 0x86
call fcn.00403294
lea edx, [ebp - 0xfbc]
lea eax, [ebp - 0x2120]
call fcn.004054f0
push dword [ebp - 0x2120]
push dword [ebp - 0x58]
push 0x5fc040
lea eax, [ebp - 0x211c]
mov edx, 3
call fcn.0040560c
mov edx, dword [ebp - 0x211c]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5fa40a
mov eax, 0x5fc06c
call fcn.004c938c
mov eax, dword [ebp - 4]
call fcn.00507208
lea eax, [ebp - 0x98c]
push eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov ecx, 4
mov edx, 1
call fcn.004029c0
lea eax, [ebp - 0x98c]
mov edx, 0x5fa96c
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00403370
je 0x5fa49a
lea eax, [ebp - 0x21c4]
push eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
lea eax, [edx + eax]
mov ecx, 4
mov edx, 1
call fcn.004029c0
lea eax, [ebp - 0x21c4]
mov edx, 0x5fc074
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00403370
jne 0x5fa652
call fcn.0040d398
fstp qword [ebp - 0x80]
wait
push 0
push 0x100000
push 0
push 0
push 1
mov eax, dword [ebp - 4]
add eax, eax
lea ecx, [eax*8 + 0x13b461c]
mov eax, dword [ebp - 4]
add eax, eax
lea edx, [eax*8 + 0x13b4614]
mov eax, dword [ebp - 4]
call fcn.005fdd28
call fcn.0040630c
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jle 0x5fa4eb
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
mov dword [eax*4 + 0x13b4254], edx
call fcn.0040d398
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
call fcn.004c9570
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x1388
jl 0x5fa5b1
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x892da8]
add edx, eax
lea eax, [ebp - 0xda0]
call fcn.004032c4
mov edx, 0x5fc07c
lea eax, [ebp - 0xda0]
mov cl, 0x89
call fcn.00403294
lea edx, [ebp - 0xda0]
lea eax, [ebp - 0x21cc]
call fcn.004054f0
push dword [ebp - 0x21cc]
lea edx, [ebp - 0x21d0]
mov eax, dword [ebp - 0x20]
call fcn.0040a78c
push dword [ebp - 0x21d0]
push 0x5fc040
lea eax, [ebp - 0x21c8]
mov edx, 3
call fcn.0040560c
mov edx, dword [ebp - 0x21c8]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405528
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032d0
xor eax, eax
push ebp
push 0x5fa648
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x5fc08c
lea edx, [ebp - 0x21d8]
mov eax, dword [ebp - 0x1c]
call fcn.0040a78c
push dword [ebp - 0x21d8]
push 0x5fc0a4
mov eax, dword [ebp - 4]
add eax, eax
push dword [eax*8 + 0x13b4618]
push dword [eax*8 + 0x13b4614]
lea eax, [ebp - 0x21dc]
call fcn.0040a878
push dword [ebp - 0x21dc]
push 0x5fc0b8
lea edx, [ebp - 0x21e0]
mov eax, dword [ebp - 4]
add eax, eax
mov eax, dword [eax*8 + 0x13b461c]
call fcn.0040a78c
push dword [ebp - 0x21e0]
lea eax, [ebp - 0x21d4]
mov edx, 6
call fcn.0040560c
mov eax, dword [ebp - 0x21d4]
call fcn.004c938c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5fa652
cmp byte [ebp - 9], 0
je 0x5fa67a
call fcn.0040d398
mov eax, dword [0x8923d8]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
call fcn.0040d398
mov eax, dword [0x8924d0]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
push 0x5fc0c8
lea edx, [ebp - 0x21e8]
mov eax, dword [ebp - 4]
call fcn.0040a78c
push dword [ebp - 0x21e8]
push 0x5fc0d8
mov eax, dword [ebp + 8]
push dword [eax]
push 0x5fc0e8
lea eax, [ebp - 0x21ec]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x892da8]
lea edx, [ecx + edx]
call fcn.004054f0
push dword [ebp - 0x21ec]
lea eax, [ebp - 0x21e4]
mov edx, 6
call fcn.0040560c
mov eax, dword [ebp - 0x21e4]
call fcn.004c938c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5fa93a
lea eax, [ebp - 0x21ec]
mov edx, 0xa
call fcn.004052b0
lea eax, [ebp - 0x2140]
call fcn.0040528c
lea eax, [ebp - 0x2128]
mov edx, 0x20
call fcn.004052b0
lea eax, [ebp - 0x2018]
mov edx, 2
call fcn.004052b0
lea eax, [ebp - 0x1f7c]
call fcn.0040528c
lea eax, [ebp - 0x1efc]
mov edx, 0xb
call fcn.004052b0
lea eax, [ebp - 0x1e58]
mov edx, 0xb
call fcn.004052b0
lea eax, [ebp - 0x1d94]
mov edx, 5
call fcn.004052b0
lea eax, [ebp - 0x1cf8]
mov edx, 0xe
call fcn.004052b0
lea eax, [ebp - 0x1c38]
mov edx, 3
call fcn.004052b0
lea eax, [ebp - 0x1bb4]
mov edx, 0xa
call fcn.004052b0
lea eax, [ebp - 0x1b8c]
mov edx, 0x18
call fcn.004052b0
lea eax, [ebp - 0x1aa0]
mov edx, 0x2a
call fcn.004052b0
lea eax, [ebp - 0x18c0]
mov edx, 0x10
call fcn.004052b0
lea eax, [ebp - 0x1810]
mov edx, 2
call fcn.004052b0
lea eax, [ebp - 0x179c]
mov edx, 2
call fcn.004052b0
lea eax, [ebp - 0x1708]
mov edx, 2
call fcn.004052b0
lea eax, [ebp - 0x168c]
mov edx, 2
call fcn.004052b0
lea eax, [ebp - 0x161c]
mov edx, 2
call fcn.004052b0
lea eax, [ebp - 0x14d8]
mov edx, 4
call fcn.004052b0
lea eax, [ebp - 0x13f0]
call fcn.0040528c
lea eax, [ebp - 0x1384]
mov edx, 3
call fcn.004052b0
lea eax, [ebp - 0x1378]
call fcn.0040528c
lea eax, [ebp - 0x1304]
mov edx, 3
call fcn.004052b0
lea eax, [ebp - 0x1268]
call fcn.0040528c
lea eax, [ebp - 0x1198]
mov edx, 4
call fcn.004052b0
lea eax, [ebp - 0x111c]
mov edx, 0x33
call fcn.004052b0
lea eax, [ebp - 0xfc8]
mov edx, 3
call fcn.004052b0
lea eax, [ebp - 0xf34]
mov edx, 0x15
call fcn.004052b0
lea eax, [ebp - 0xe74]
mov edx, 0xb
call fcn.004052b0
lea eax, [ebp - 0xdb4]
mov edx, 5
call fcn.004052b0
lea eax, [ebp - 0xd14]
mov edx, 2
call fcn.004052b0
lea eax, [ebp - 0xc9c]
mov edx, 2
call fcn.004052b0
lea eax, [ebp - 0xb94]
mov edx, 0x3e
call fcn.004052b0
lea eax, [ebp - 0x99c]
mov edx, 4
call fcn.004052b0
lea eax, [ebp - 0x908]
mov edx, 2
call fcn.004052b0
lea eax, [ebp - 0xb0]
mov edx, 2
call fcn.004052b0
lea eax, [ebp - 0x64]
mov edx, 0xb
call fcn.004052b0
ret