Function at 0x4face0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x3f5
push 0
push 0
dec ecx
jne 0x4face9
push ecx
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 0x502898
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 4], 0x64
jl 0x4fad30
mov eax, dword [0x7d6870]
cmp dword [eax], 0x32
jge 0x4fad30
mov eax, dword [ebp + 8]
mov edx, 0x5028b4
call fcn.004052cc
jmp 0x50263a
mov eax, dword [ebp - 4]
lea eax, [eax + eax*4]
mov edx, dword [0x7d748c]
cmp byte [edx + eax*2], 0
jne 0x4fb02d
lea edx, [ebp - 0x908]
mov eax, dword [ebp - 4]
call fcn.0040a83c
mov ecx, dword [ebp - 0x908]
lea eax, [ebp - 0x904]
mov edx, 0x5028c4
call fcn.00405594
mov eax, dword [ebp - 0x904]
call fcn.004c6770
lea eax, [ebp - 0x44]
call fcn.00405278
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 [0x7d6d40]
lea eax, [edx + eax]
mov ecx, 4
mov edx, 1
call fcn.004029ac
lea eax, [ebp - 0x98c]
mov edx, 0x5028d4
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040335c
jne 0x4fadd6
cmp byte [ebp - 9], 0
je 0x4fadda
xor eax, eax
jmp 0x4faddc
mov al, 1
mov byte [ebp - 0x91], al
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
mov eax, 0x5028dc
call fcn.00402c58
test eax, eax
jle 0x4fae11
mov eax, dword [ebp + 8]
mov edx, 0x5028f0
call fcn.004052cc
jmp 0x50263a
lea eax, [ebp - 0x98c]
push eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea eax, [edx + eax]
mov ecx, 5
mov edx, 1
call fcn.004029ac
lea eax, [ebp - 0x98c]
mov edx, 0x5028fc
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040335c
jne 0x4fae60
mov eax, dword [ebp + 8]
mov edx, 0x50290c
call fcn.004052cc
jmp 0x50263a
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
mov eax, 0x502914
call fcn.00402c58
test eax, eax
jle 0x4faeb2
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 4]
push dword [eax + edx*8 + 4]
push dword [eax + edx*8]
call fcn.004a600c
cmp edx, 0
jne 0x4faea9
cmp eax, 0x14
jae 0x4faeb2
jmp 0x4faeab
jge 0x4faeb2
mov byte [ebp - 0x91], 1
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
cmp byte [edx + eax], 0
je 0x4fb020
lea edx, [ebp - 0x994]
mov eax, dword [ebp - 4]
call fcn.00563e34
mov ecx, dword [ebp - 0x994]
lea eax, [ebp - 0x990]
mov edx, 0x50292c
call fcn.00405594
mov eax, dword [ebp - 0x990]
call fcn.004c6770
lea eax, [ebp - 0x99c]
imul edx, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6320]
lea edx, [ecx + edx]
call fcn.004054ec
mov eax, dword [ebp - 0x99c]
lea edx, [ebp - 0x998]
call fcn.0040a348
cmp dword [ebp - 0x998], 0
jne 0x4faf6b
lea edx, [ebp - 0xaa0]
mov eax, dword [ebp - 4]
call fcn.00563e34
mov edx, dword [ebp - 0xaa0]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6320]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 4]
push dword [eax + edx*8 + 4]
push dword [eax + edx*8]
call fcn.004a600c
cmp edx, 0
jne 0x4faf97
cmp eax, 0x14
jae 0x4fafa0
jmp 0x4faf99
jge 0x4fafa0
mov byte [ebp - 0x91], 1
mov eax, 0x502940
call fcn.0049d570
test al, al
je 0x4fafb5
mov byte [ebp - 0x91], 0
cmp byte [ebp - 0x91], 0
jne 0x4fb020
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
cmp byte [edx + eax + 4], 0xb
jne 0x4fb020
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
cmp word [edx + eax + 0xd], 0x270f
jne 0x4fb020
mov eax, dword [ebp - 4]
call fcn.0056fad8
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a6c
mov eax, dword [ebp + 8]
call fcn.00405278
jmp 0x50263a
cmp byte [ebp - 0x91], 0
je 0x4fb155
mov eax, 0x502958
call fcn.004c6770
mov eax, dword [ebp - 4]
cmp dword [eax*4 + 0xc0b72c], 0
jne 0x4fb074
push 0
push 0x100000
push 1
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00504d38
call fcn.00406410
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jle 0x4fb074
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
mov dword [eax*4 + 0xc0b72c], edx
mov eax, dword [0x7d6594]
mov edx, dword [ebp - 4]
cmp byte [eax + edx], 0
je 0x4fb0ba
mov eax, dword [ebp - 8]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403450
mov eax, dword [ebp - 8]
lea edi, [eax + 0xc6d]
mov esi, 0x502960
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.00405278
jmp 0x50263a
mov eax, dword [ebp + 8]
call fcn.00405278
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
mov eax, 0x502914
call fcn.00402c58
test eax, eax
jle 0x4fb0f7
mov eax, dword [ebp + 8]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
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 0x50263a
mov eax, dword [ebp - 8]
add eax, 0xc6d
mov edx, 0x502960
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040335c
jne 0x50263a
mov eax, dword [ebp - 8]
lea edi, [eax + 0xc6d]
mov esi, 0x502968
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x50263a
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
mov eax, 0x50296c
call fcn.00402c58
test eax, eax
jle 0x4fb1d4
mov eax, 0x50297c
call fcn.004c6770
call fcn.00531c78
mov eax, 0x502990
call fcn.004c6770
mov eax, dword [ebp - 8]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403450
mov eax, dword [ebp - 4]
call fcn.0053efa0
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a6c
mov eax, dword [ebp - 4]
call fcn.004f9870
mov eax, dword [ebp + 8]
call fcn.00405278
jmp 0x50263a
imul eax, dword [ebp - 4], 0xd9
mov edx, dword [0x7d6e38]
cmp dword [edx + eax], 1
jl 0x4fb21f
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 4]
call fcn.004f60f8
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a6c
mov eax, dword [ebp + 8]
call fcn.00405278
jmp 0x50263a
mov eax, dword [0x7d6850]
cmp byte [eax], 0
je 0x4fb269
call fcn.004f67c8
test eax, eax
jle 0x4fb269
mov eax, dword [0x7d6870]
mov eax, dword [eax]
dec eax
cmp eax, dword [ebp - 4]
jne 0x4fb269
imul eax, dword [ebp - 4], 0xd9
mov edx, dword [0x7d6e38]
cmp dword [edx + eax], 0
jg 0x4fb269
call fcn.004f67dc
test eax, eax
jne 0x4fb269
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 4]
call fcn.004f60f8
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
mov eax, dword [0x7d7484]
cmp dword [eax], 2
je 0x4fb29b
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
cmp byte [eax*2 + 0xc0c798], 0
jne 0x4fb29b
mov eax, dword [ebp + 8]
mov edx, 0x5029a4
call fcn.004052cc
jmp 0x50263a
cmp dword [ebp + 0xc], 0
jle 0x4fb2bd
imul eax, dword [ebp - 4], 0xc9
mov byte [eax + 0xc01a24], 0
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
mov byte [edx + eax], 0
call fcn.0040d300
fstp qword [ebp - 0x80]
wait
call fcn.0040d300
fstp qword [ebp - 0x78]
wait
mov dword [ebp - 0x10], 0xfffffc18
cmp byte [ebp - 0xb5], 0
jne 0x4fb308
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
imul ecx, dword [ebp - 4], 0x651
mov ebx, dword [0x7d6454]
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.0040a83c
mov ecx, dword [ebp - 0xaa8]
lea eax, [ebp - 0xaa4]
mov edx, 0x5029b0
call fcn.00405594
mov eax, dword [ebp - 0xaa4]
call fcn.004c6770
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.004fa7ac
lea edx, [ebp - 0xab0]
mov eax, dword [ebp - 4]
call fcn.0040a83c
mov ecx, dword [ebp - 0xab0]
lea eax, [ebp - 0xaac]
mov edx, 0x5029c4
call fcn.00405594
mov eax, dword [ebp - 0xaac]
call fcn.004c6770
mov byte [ebp - 0xb6], 0
mov eax, dword [0x7d6594]
mov edx, dword [ebp - 4]
cmp byte [eax + edx], 0
jne 0x4fb3b9
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6320]
add edx, eax
mov eax, 0x502960
call fcn.00402c58
test eax, eax
jle 0x4fb3e7
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6320]
add edx, eax
mov eax, 0x5029d0
call fcn.00402c58
test eax, eax
jle 0x4fb3e7
imul eax, dword [ebp - 4], 0xac1
mov edx, dword [0x7d65a0]
cmp byte [edx + eax*8], 4
jbe 0x4fb3e7
imul eax, dword [ebp - 4], 0xac1
mov edx, dword [0x7d65a0]
cmp byte [edx + eax*8 + 0x2f], 4
jbe 0x4fb3e7
mov byte [ebp - 0xb6], 1
mov eax, dword [ebp + 8]
mov edx, 0x5029dc
call fcn.004052cc
lea eax, [ebp - 0x50]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
lea eax, [ebp - 0xa9c]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
mov eax, dword [ebp - 8]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403450
imul eax, dword [ebp - 4], 0xac1
mov edx, dword [0x7d65a0]
mov byte [edx + eax*8 + 0x19f], 0
imul eax, dword [ebp - 4], 0xac1
mov edx, dword [0x7d65a0]
mov byte [edx + eax*8 + 0x1e6], 0
imul eax, dword [ebp - 4], 0xac1
mov edx, dword [0x7d65a0]
mov byte [edx + eax*8 + 0x22d], 0
imul eax, dword [ebp - 4], 0xac1
mov edx, dword [0x7d65a0]
mov byte [edx + eax*8 + 0x274], 0
xor eax, eax
mov dword [ebp - 0x90], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0xb0]
call fcn.00405278
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 0x501ebd
cmp dword [ebp - 4], 0xc7
jg 0x501ebd
mov eax, dword [ebp - 8]
mov byte [eax + 0xc6d], 0
mov eax, dword [0x7d6594]
mov edx, dword [ebp - 0x18]
mov byte [eax + edx], 0
mov eax, dword [0x7d7484]
cmp dword [eax], 2
jne 0x4fb5f2
mov dword [ebp - 0xa8], 3
mov eax, 0x5029e8
call fcn.0049d570
test al, al
je 0x4fb530
cmp dword [ebp - 0x18], 0
je 0x4fb529
cmp dword [ebp - 0x18], 7
jne 0x4fb530
mov dword [ebp - 0x18], 0xc8
cmp dword [ebp - 0x2c], 0
jne 0x4fb611
mov edx, dword [ebp - 0x50]
mov eax, 0x5029f8
call fcn.0040588c
test eax, eax
jle 0x4fb59f
mov eax, dword [0x7d6594]
mov edx, dword [ebp - 0x18]
mov byte [eax + edx], 1
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 0x50]
call fcn.004fabfc
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, 0x502a08
call fcn.00405594
mov eax, dword [ebp - 0xab4]
call fcn.00405748
push eax
call sub.kernel32.dll_CreateFileA_1
mov dword [ebp - 0x2c], eax
jmp 0x4fb611
push 0
push 0
push 3
push 0
mov eax, dword [ebp - 0xa8]
push eax
push 0xc0000000
mov eax, dword [ebp - 0x18]
call fcn.005a8144
lea edx, [ebp - 0xabc]
call fcn.0040a83c
mov ecx, dword [ebp - 0xabc]
lea eax, [ebp - 0xab8]
mov edx, 0x502a18
call fcn.00405594
mov eax, dword [ebp - 0xab8]
call fcn.00405748
push eax
call sub.kernel32.dll_CreateFileA_1
mov dword [ebp - 0x2c], eax
jmp 0x4fb611
cmp dword [ebp - 0x2c], 0
jne 0x4fb611
push 0
push 0
push 1
push 0
push 0
push 0
push 0x502a2c
call sub.kernel32.dll_CreateFileA_1
mov dword [ebp - 0x2c], eax
push 0x502a44
mov eax, dword [ebp - 0x2c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0xac0]
call fcn.0040a928
push dword [ebp - 0xac0]
push 0x502a50
mov eax, dword [ebp + 8]
mov edx, 3
call fcn.00405608
lea eax, [ebp - 0xac4]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
lea eax, [ebp - 0xac4]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405550
mov edx, dword [ebp - 0xac4]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
cmp byte [0x7cd5d4], 2
jae 0x4fb6c3
cmp dword [ebp - 4], 1
jne 0x4fb6c3
cmp dword [ebp - 0x2c], 0xffffffff
je 0x4fb6c3
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
mov dword [ebp - 0x2c], 0xffffffff
cmp dword [ebp - 0x2c], 0xffffffff
je 0x501a46
mov eax, dword [0x7d7484]
cmp dword [eax], 2
jne 0x4fc07b
mov edx, dword [ebp - 0x50]
mov eax, 0x5029f8
call fcn.0040588c
test eax, eax
jg 0x4fd7f4
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc0cc48], 0xff
sete byte [ebp - 0x92]
lea eax, [ebp - 0xac8]
push eax
mov ecx, 4
mov edx, 1
mov eax, dword [ebp - 0x50]
call fcn.004057a8
mov eax, dword [ebp - 0xac8]
mov edx, 0x502a5c
call fcn.00405694
je 0x4fb733
mov byte [ebp - 0x92], 1
push 0x502a6c
lea edx, [ebp - 0xad0]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0xad0]
push 0x502a88
lea edx, [ebp - 0xad4]
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xc0cc48]
call fcn.0040a83c
push dword [ebp - 0xad4]
push 0x502a94
mov al, byte [ebp - 0x92]
call fcn.004a11e8
mov edx, eax
lea eax, [ebp - 0xad8]
call fcn.00405460
push dword [ebp - 0xad8]
lea eax, [ebp - 0xacc]
mov edx, 6
call fcn.00405608
mov eax, dword [ebp - 0xacc]
call fcn.004c6770
mov eax, dword [ebp - 4]
mov byte [eax + 0xc0cc48], 0xfe
mov dword [ebp - 0x9c], 1
xor eax, eax
push ebp
push 0x4fb89d
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0xc5bba8], 0
je 0x4fb893
mov eax, 0x502aa4
call fcn.004c6770
lea eax, [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0x2c]
push eax
call dword [0xc5bba8]
mov byte [ebp - 0x94], al
push 0x502abc
mov al, byte [ebp - 0x94]
call fcn.004a11e8
mov edx, eax
lea eax, [ebp - 0xae0]
call fcn.00405460
push dword [ebp - 0xae0]
push 0x502ad4
mov eax, dword [ebp - 0x9c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0xae4]
call fcn.0040a928
push dword [ebp - 0xae4]
lea eax, [ebp - 0xadc]
mov edx, 4
call fcn.00405608
mov eax, dword [ebp - 0xadc]
call fcn.004c6770
cmp byte [ebp - 0x94], 0
je 0x4fb893
cmp dword [ebp - 0x9c], 0
je 0x4fb876
mov eax, dword [ebp - 4]
mov byte [eax + 0xc0cc48], 1
jmp 0x4fb893
mov eax, dword [ebp - 4]
mov byte [eax + 0xc0cc48], 0
call fcn.005ad66c
test al, al
je 0x4fb893
mov eax, dword [ebp - 4]
mov byte [eax + 0xc0cc48], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4fb8b1
mov eax, 0x502ae0
call fcn.0049d570
test al, al
je 0x4fb945
lea edx, [ebp - 0xaec]
xor eax, eax
call fcn.004a29b8
mov eax, dword [ebp - 0xaec]
lea ecx, [ebp - 0xae8]
mov edx, 0x502af0
call fcn.0049d0c8
mov eax, dword [ebp - 0xae8]
push eax
push 0x502b04
lea edx, [ebp - 0xaf4]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0xaf4]
push 0x502a88
lea edx, [ebp - 0xaf8]
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xc0cc48]
call fcn.0040a83c
push dword [ebp - 0xaf8]
lea eax, [ebp - 0xaf0]
mov edx, 4
call fcn.00405608
mov eax, dword [ebp - 0xaf0]
or ecx, 0xffffffff
pop edx
call fcn.004c647c
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
cmp byte [edx + eax], 0
je 0x4fba1f
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
cmp byte [edx + eax + 4], 1
jb 0x4fba1f
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
cmp byte [edx + eax + 4], 3
ja 0x4fba1f
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc0cc48], 0
jne 0x4fba1f
cmp byte [0x7cd5dc], 0
jne 0x4fba1f
mov eax, dword [ebp - 4]
mov byte [eax + 0xc0cc48], 1
mov eax, 0x502ae0
call fcn.0049d570
test al, al
je 0x4fba1f
lea edx, [ebp - 0xb00]
xor eax, eax
call fcn.004a29b8
mov eax, dword [ebp - 0xb00]
lea ecx, [ebp - 0xafc]
mov edx, 0x502af0
call fcn.0049d0c8
mov eax, dword [ebp - 0xafc]
push eax
lea edx, [ebp - 0xb08]
mov eax, dword [ebp - 4]
call fcn.0040a83c
mov ecx, dword [ebp - 0xb08]
lea eax, [ebp - 0xb04]
mov edx, 0x502b20
call fcn.00405594
mov eax, dword [ebp - 0xb04]
or ecx, 0xffffffff
pop edx
call fcn.004c647c
push 0x502b40
lea edx, [ebp - 0xb10]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0xb10]
push 0x502a88
lea edx, [ebp - 0xb14]
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xc0cc48]
call fcn.0040a83c
push dword [ebp - 0xb14]
lea eax, [ebp - 0xb0c]
mov edx, 4
call fcn.00405608
mov eax, dword [ebp - 0xb0c]
call fcn.004c6770
push 0x502b58
lea edx, [ebp - 0xb1c]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0xb1c]
push 0x502b58
lea eax, [ebp - 0xb18]
mov edx, 3
call fcn.00405608
mov eax, dword [ebp - 0xb18]
mov edx, dword [0x7cd5e0]
call fcn.0040588c
test eax, eax
jle 0x4fbac0
mov eax, dword [ebp - 4]
mov byte [eax + 0xc0cc48], 1
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 4]
mov edx, dword [eax + edx*4]
mov eax, 0x502b64
call fcn.0040588c
test eax, eax
jle 0x4fbae3
mov eax, dword [ebp - 4]
mov byte [eax + 0xc0cc48], 1
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc0cc48], 1
jne 0x4fbdbb
mov eax, 0x502b7c
call fcn.004c6770
mov cl, byte [ebp - 0xb6]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00521b4c
mov edx, dword [0x7d749c]
mov ecx, dword [ebp - 4]
mov byte [edx + ecx], al
push 0x502b94
lea edx, [ebp - 0xb24]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0xb24]
push 0x502a88
mov eax, dword [0x7d749c]
mov edx, dword [ebp - 4]
movzx eax, byte [eax + edx]
lea edx, [ebp - 0xb28]
call fcn.0040a83c
push dword [ebp - 0xb28]
lea eax, [ebp - 0xb20]
mov edx, 4
call fcn.00405608
mov eax, dword [ebp - 0xb20]
call fcn.004c6770
mov eax, dword [0x7d749c]
mov edx, dword [ebp - 4]
cmp byte [eax + edx], 0
jne 0x4fbe8f
mov eax, dword [ebp - 4]
mov byte [eax + 0xc0cc48], 0
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 4]
mov edx, dword [eax + edx*4]
mov eax, 0x502bac
call fcn.0040588c
test eax, eax
jle 0x4fbbaf
mov eax, dword [ebp - 4]
mov byte [eax + 0xc0cc48], 1
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 4]
mov edx, dword [eax + edx*4]
mov eax, 0x502bbc
call fcn.0040588c
test eax, eax
jle 0x4fbbd2
mov eax, dword [ebp - 4]
mov byte [eax + 0xc0cc48], 1
xor eax, eax
push ebp
push 0x4fbc0f
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0040d300
fsub dword [0x502bc8]
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 4]
fcomp qword [eax + edx*8]
fnstsw ax
sahf
jb 0x4fbc05
mov eax, dword [ebp - 4]
mov byte [eax + 0xc0cc48], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4fbc19
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc0cc48], 0
jne 0x4fbdac
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
cmp byte [edx + eax], 0
je 0x4fbdac
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
cmp byte [edx + eax + 4], 8
jne 0x4fbd74
mov eax, dword [ebp - 4]
mov byte [eax + 0xc0cc48], 1
push 0x502bd4
lea edx, [ebp - 0xb30]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0xb30]
push 0x502a88
lea edx, [ebp - 0xb34]
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xc0cc48]
call fcn.0040a83c
push dword [ebp - 0xb34]
lea eax, [ebp - 0xb2c]
mov edx, 4
call fcn.00405608
mov eax, dword [ebp - 0xb2c]
call fcn.004c6770
mov eax, 0x502ae0
call fcn.0049d570
test al, al
je 0x4fbd74
lea edx, [ebp - 0xb3c]
xor eax, eax
call fcn.004a29b8
mov eax, dword [ebp - 0xb3c]
lea ecx, [ebp - 0xb38]
mov edx, 0x502af0
call fcn.0049d0c8
mov eax, dword [ebp - 0xb38]
push eax
push 0x502bec
lea edx, [ebp - 0xb44]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0xb44]
push 0x502c04
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
movzx eax, byte [edx + eax + 4]
lea edx, [ebp - 0xb48]
call fcn.0040a83c
push dword [ebp - 0xb48]
push 0x502c10
lea edx, [ebp - 0xb4c]
mov eax, dword [ebp - 4]
call fcn.00563e34
push dword [ebp - 0xb4c]
lea eax, [ebp - 0xb40]
mov edx, 6
call fcn.00405608
mov eax, dword [ebp - 0xb40]
or ecx, 0xffffffff
pop edx
call fcn.004c647c
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
cmp byte [edx + eax + 4], 0xb
jne 0x4fbdac
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
test byte [edx + eax + 0x10], 4
je 0x4fbdac
mov eax, dword [ebp - 4]
mov byte [eax + 0xc0cc48], 1
mov eax, 0x502c20
call fcn.004c6770
jmp 0x4fbe8f
mov eax, 0x502c38
call fcn.004aa544
test al, al
je 0x4fbe8f
mov eax, 0x502c4c
call fcn.004c6770
mov cl, byte [ebp - 0xb6]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.00521b4c
mov edx, dword [0x7d749c]
mov ecx, dword [ebp - 4]
mov byte [edx + ecx], al
push 0x502c64
lea edx, [ebp - 0xb54]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0xb54]
push 0x502a88
mov eax, dword [0x7d749c]
mov edx, dword [ebp - 4]
movzx eax, byte [eax + edx]
lea edx, [ebp - 0xb58]
call fcn.0040a83c
push dword [ebp - 0xb58]
lea eax, [ebp - 0xb50]
mov edx, 4
call fcn.00405608
mov eax, dword [ebp - 0xb50]
call fcn.004c6770
mov eax, dword [0x7d749c]
mov edx, dword [ebp - 4]
cmp byte [eax + edx], 2
jne 0x4fbe6c
mov eax, dword [ebp - 4]
mov byte [eax + 0xc0cc48], 1
mov eax, 0x502c7c
call fcn.004c6770
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 4]
mov edx, dword [eax + edx*4]
mov eax, 0x502bac
call fcn.0040588c
test eax, eax
jle 0x4fbe8f
mov eax, dword [ebp - 4]
mov byte [eax + 0xc0cc48], 1
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc0cc48], 0
jne 0x4fc068
mov eax, dword [ebp - 4]
fld qword [eax*8 + 0xc0cd10]
fcomp dword [0x502c8c]
fnstsw ax
sahf
jne 0x4fbec4
call fcn.0040d300
mov eax, dword [ebp - 4]
fstp qword [eax*8 + 0xc0cd10]
wait
mov eax, 0x502ae0
call fcn.0049d570
test al, al
je 0x4fbf2f
lea edx, [ebp - 0xb60]
xor eax, eax
call fcn.004a29b8
mov eax, dword [ebp - 0xb60]
lea ecx, [ebp - 0xb5c]
mov edx, 0x502af0
call fcn.0049d0c8
mov eax, dword [ebp - 0xb5c]
push eax
lea edx, [ebp - 0xb68]
mov eax, dword [ebp - 4]
call fcn.0040a83c
mov ecx, dword [ebp - 0xb68]
lea eax, [ebp - 0xb64]
mov edx, 0x502c98
call fcn.00405594
mov eax, dword [ebp - 0xb64]
or ecx, 0xffffffff
pop edx
call fcn.004c647c
mov byte [ebp - 0x2f], 0
mov eax, dword [0x7d6594]
mov edx, dword [ebp - 4]
cmp byte [eax + edx], 0
je 0x4fbf87
imul eax, dword [ebp - 4], 0xac1
mov edx, dword [0x7d65a0]
cmp byte [edx + eax*8], 0
je 0x4fbfac
lea eax, [ebp - 0xb6c]
imul edx, dword [ebp - 4], 0xac1
mov ecx, dword [0x7d65a0]
lea edx, [ecx + edx*8 + 0x3e4]
mov ecx, 0x2711
call fcn.004054f8
cmp dword [ebp - 0xb6c], 0
je 0x4fbfac
mov byte [ebp - 0x2f], 1
jmp 0x4fbfac
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
cmp byte [edx + eax*2], 0
je 0x4fbfac
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 4]
cmp dword [eax + edx*4], 0
je 0x4fbfac
mov byte [ebp - 0x2f], 1
cmp byte [ebp - 0x92], 0
je 0x4fc024
mov eax, 0x502ae0
call fcn.0049d570
test al, al
je 0x4fc020
lea edx, [ebp - 0xb74]
xor eax, eax
call fcn.004a29b8
mov eax, dword [ebp - 0xb74]
lea ecx, [ebp - 0xb70]
mov edx, 0x502af0
call fcn.0049d0c8
mov eax, dword [ebp - 0xb70]
push eax
lea edx, [ebp - 0xb7c]
mov eax, dword [ebp - 4]
call fcn.0040a83c
mov ecx, dword [ebp - 0xb7c]
lea eax, [ebp - 0xb78]
mov edx, 0x502cb0
call fcn.00405594
mov eax, dword [ebp - 0xb78]
or ecx, 0xffffffff
pop edx
call fcn.004c647c
mov byte [ebp - 0x2f], 0
cmp byte [ebp - 0x2f], 0
je 0x4fc068
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.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
jmp 0x4fb02d
cmp byte [ebp - 0x92], 0
je 0x4fc07b
mov eax, dword [ebp - 4]
mov byte [eax + 0xc0cc48], 1
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax*8 + 0xc0cd10], edx
mov dword [eax*8 + 0xc0cd14], edx
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 4]
call fcn.00581460
mov eax, dword [0x7d6594]
mov edx, dword [ebp - 4]
cmp byte [eax + edx], 0
jne 0x4fc220
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 4]
mov eax, dword [eax + edx*4]
call fcn.00405548
cmp eax, 0x1f4
jl 0x4fc220
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 4]
call fcn.005ab3c8
test al, al
je 0x4fc220
lea eax, [ebp - 0xb80]
mov edx, 0x7cd6bc
call fcn.004054ec
mov eax, dword [ebp - 0xb80]
call fcn.00515a10
test al, al
je 0x4fc220
mov eax, dword [ebp - 4]
shl eax, 2
lea eax, [eax + eax*2]
mov edx, dword [0x7d6f38]
cmp byte [edx + eax*8 + 0x4e], 0
je 0x4fc220
lea eax, [ebp - 0xb84]
call fcn.004a1a18
mov eax, dword [ebp - 0xb84]
mov edx, 0x502ccc
call fcn.00405694
jb 0x4fc220
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00525ddc
test eax, eax
jne 0x4fc220
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.005ad2cc
mov dword [ebp - 0x88], eax
push 0x502cd8
lea edx, [ebp - 0xb8c]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0xb8c]
push 0x502ad4
push dword [ebp - 0x64]
push 0x502cec
lea edx, [ebp - 0xb90]
mov eax, dword [ebp - 0x88]
call fcn.0040a83c
push dword [ebp - 0xb90]
lea eax, [ebp - 0xb88]
mov edx, 6
call fcn.00405608
mov edx, dword [ebp - 0xb88]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
mov eax, 0x7cd7b8
mov cl, 0xfa
call fcn.004032bc
mov edx, 0x502cf0
lea eax, [ebp - 0xc94]
call fcn.004032b0
mov edx, 0x7cd7b8
lea eax, [ebp - 0xc94]
mov cl, 0xfe
call fcn.00403280
lea edx, [ebp - 0xc94]
lea eax, [ebp - 0xb94]
call fcn.004054ec
mov eax, dword [ebp - 0xb94]
call fcn.004c6770
cmp dword [ebp - 0x88], 1
jl 0x4fc220
mov eax, dword [ebp - 4]
mov byte [eax + 0xc5bbb0], 1
mov eax, dword [ebp - 4]
shl eax, 2
lea eax, [eax + eax*2]
mov edx, dword [0x7d6f38]
cmp dword [edx + eax*8 + 8], 0x100
jne 0x4fc25a
mov edx, dword [ebp - 0x50]
mov eax, 0x502d00
call fcn.0040588c
test eax, eax
jle 0x4fc25a
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x50]
call fcn.004052cc
jmp 0x500fe7
mov eax, dword [0x7d7484]
cmp dword [eax], 2
jne 0x4fc688
mov eax, dword [ebp - 0x2c]
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.005a8144
mov ecx, eax
lea eax, [ebp - 0x3c]
mov edx, dword [ebp - 4]
call fcn.0055da48
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 1
jl 0x4fc4e9
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a6c
call fcn.0040d300
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
add edx, eax
lea eax, [ebp - 0xd0c]
call fcn.004032b0
mov edx, 0x502d08
lea eax, [ebp - 0xd0c]
mov cl, 0x6d
call fcn.00403280
lea edx, [ebp - 0xd0c]
lea eax, [ebp - 0xc9c]
call fcn.004054ec
push dword [ebp - 0xc9c]
lea edx, [ebp - 0xd10]
mov eax, dword [ebp - 0x90]
call fcn.0040a83c
push dword [ebp - 0xd10]
push 0x502d1c
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0xd14]
call fcn.0040a928
push dword [ebp - 0xd14]
lea eax, [ebp - 0xc98]
mov edx, 4
call fcn.00405608
mov edx, dword [ebp - 0xc98]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6a18]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
mov edx, 0x502d20
lea eax, [ebp - 0xda0]
call fcn.004032b0
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0xda0]
mov cl, 0x89
call fcn.00403280
lea edx, [ebp - 0xda0]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
cmp byte [edx + eax], 0
je 0x4fc420
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
cmp byte [edx + eax + 4], 0x1b
jne 0x4fc420
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea edi, [edx + eax]
mov esi, 0x502d28
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 + 8]
call fcn.00405278
mov eax, 0x502d44
call fcn.0049d570
test al, al
je 0x4fc4d1
push 0x502d54
lea edx, [ebp - 0xda8]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0xda8]
push 0x502d68
mov eax, dword [ebp - 4]
call fcn.005a8144
lea edx, [ebp - 0xdac]
call fcn.0040a83c
push dword [ebp - 0xdac]
push 0x502d78
mov eax, dword [ebp - 0x2c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0xdb0]
call fcn.0040a928
push dword [ebp - 0xdb0]
push 0x502d8c
lea eax, [ebp - 0xdb4]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
push dword [ebp - 0xdb4]
lea eax, [ebp - 0xda4]
mov edx, 8
call fcn.00405608
mov eax, dword [ebp - 0xda4]
mov dl, 1
call fcn.005540d4
cmp dword [ebp - 0x2c], 0xffffffff
je 0x501ebd
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x501ebd
cmp dword [ebp - 0x84], 0
jne 0x4fc688
mov eax, dword [0x7d6870]
cmp dword [eax], 0
jg 0x4fc512
lea eax, [ebp - 0x44]
mov edx, 0x502d9c
call fcn.00405310
jmp 0x4fd7f4
imul eax, dword [ebp - 4], 0xac1
mov edx, dword [0x7d65a0]
lea edx, [edx + eax*8]
mov eax, 0x502da8
call fcn.00402c58
test eax, eax
jle 0x4fc542
lea eax, [ebp - 0x44]
mov edx, 0x502d9c
call fcn.00405310
jmp 0x4fd7f4
mov eax, dword [ebp - 8]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403450
call fcn.0040d300
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
lea eax, [edx + eax]
mov edx, 0x502db0
mov cl, 0x64
call fcn.00403280
mov edx, 0x502dc0
lea eax, [ebp - 0xe48]
call fcn.004032b0
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0xe48]
mov cl, 0x92
call fcn.00403280
lea edx, [ebp - 0xe48]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
mov eax, dword [ebp + 8]
mov edx, 0x502ddc
call fcn.004052cc
mov eax, 0x502d44
call fcn.0049d570
test al, al
je 0x4fc67a
push 0x502d54
lea edx, [ebp - 0xe50]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0xe50]
push 0x502d68
mov eax, dword [ebp - 4]
call fcn.005a8144
lea edx, [ebp - 0xe54]
call fcn.0040a83c
push dword [ebp - 0xe54]
push 0x502d78
mov eax, dword [ebp - 0x2c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0xe58]
call fcn.0040a928
push dword [ebp - 0xe58]
push 0x502df8
lea eax, [ebp - 0xe5c]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
push dword [ebp - 0xe5c]
lea eax, [ebp - 0xe4c]
mov edx, 8
call fcn.00405608
mov eax, dword [ebp - 0xe4c]
mov dl, 1
call fcn.005540d4
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x501ebd
mov edx, dword [ebp - 0x50]
mov eax, 0x502e0c
call fcn.0040588c
test eax, eax
jle 0x4fc920
push dword [ebp - 0x50]
push 0x502e1c
lea edx, [ebp - 0xe64]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0xe64]
push 0x502d68
mov eax, dword [ebp - 4]
call fcn.005a8144
lea edx, [ebp - 0xe68]
call fcn.0040a83c
push dword [ebp - 0xe68]
push 0x502e2c
lea eax, [ebp - 0xe6c]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
push dword [ebp - 0xe6c]
lea eax, [ebp - 0xe60]
mov edx, 7
call fcn.00405608
mov eax, dword [ebp - 0xe60]
call fcn.004c6770
push 0
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
lea edx, [edx + eax*2]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005b1570
test eax, eax
jle 0x4fc920
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a6c
call fcn.0040d300
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
add edx, eax
lea eax, [ebp - 0xee0]
call fcn.004032b0
mov edx, 0x502e34
lea eax, [ebp - 0xee0]
mov cl, 0x69
call fcn.00403280
lea edx, [ebp - 0xee0]
lea eax, [ebp - 0xe74]
call fcn.004054ec
push dword [ebp - 0xe74]
lea edx, [ebp - 0xee4]
mov eax, dword [ebp - 0x90]
call fcn.0040a83c
push dword [ebp - 0xee4]
push 0x502d1c
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0xee8]
call fcn.0040a928
push dword [ebp - 0xee8]
lea eax, [ebp - 0xe70]
mov edx, 4
call fcn.00405608
mov edx, dword [ebp - 0xe70]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6a18]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
mov edx, dword [ebp - 0x50]
mov eax, 0x502e44
call fcn.0040588c
test eax, eax
jne 0x4fc855
push 0
lea eax, [ebp - 0x50]
mov ecx, 0x502e58
mov edx, 0x502e0c
call fcn.0049e218
lea eax, [ebp - 0xa9c]
mov edx, dword [ebp - 0x50]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
mov eax, dword [ebp + 8]
call fcn.00405278
push dword [ebp - 0x50]
push 0x502e1c
lea edx, [ebp - 0xef0]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0xef0]
push 0x502d68
mov eax, dword [ebp - 4]
call fcn.005a8144
lea edx, [ebp - 0xef4]
call fcn.0040a83c
push dword [ebp - 0xef4]
push 0x502e2c
lea eax, [ebp - 0xef8]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
push dword [ebp - 0xef8]
lea eax, [ebp - 0xeec]
mov edx, 7
call fcn.00405608
mov eax, dword [ebp - 0xeec]
call fcn.004c6770
cmp dword [ebp - 0x2c], 0xffffffff
je 0x501ebd
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x501ebd
lea eax, [ebp - 0xec]
xor ecx, ecx
mov edx, 0x20
call fcn.00403450
lea eax, [ebp - 0x2fc]
xor ecx, ecx
mov edx, 0x210
call fcn.00403450
mov dword [ebp - 0xec], 0x200
mov byte [ebp - 0xe7], 1
mov byte [ebp - 0xe6], 1
mov byte [ebp - 0xe2], 0xec
mov eax, dword [0x7d7484]
cmp dword [eax], 2
jne 0x4fc988
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 0x4fc9ae
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0xc0c794]
mov byte [ebp - 0xe3], al
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0xc0c796]
mov byte [ebp - 0xe0], al
mov dword [ebp - 0x2fc], 0x210
lea edx, [ebp - 0xf00]
mov eax, dword [ebp - 4]
call fcn.0040a83c
mov ecx, dword [ebp - 0xf00]
lea eax, [ebp - 0xefc]
mov edx, 0x502e6c
call fcn.00405594
mov eax, dword [ebp - 0xefc]
call fcn.004c6770
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 al, byte [ebp - 0x2f]
call fcn.004a11e8
mov edx, eax
lea eax, [ebp - 0xf08]
call fcn.00405460
mov ecx, dword [ebp - 0xf08]
lea eax, [ebp - 0xf04]
mov edx, 0x502e88
call fcn.00405594
mov eax, dword [ebp - 0xf04]
call fcn.004c6770
cmp byte [ebp - 0x2f], 0
je 0x4fcb21
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.005266c8
dec eax
jne 0x4fca6a
mov byte [ebp - 0x2f], 0
cmp byte [ebp - 0x2f], 0
je 0x4fcb21
lea ecx, [ebp - 0x54]
lea eax, [ebp - 0x2ec]
mov edx, 0x1ff
call fcn.005b0350
push 0x502ea4
lea edx, [ebp - 0xf10]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0xf10]
push 0x502eb4
push dword [ebp - 0x54]
lea eax, [ebp - 0xf0c]
mov edx, 4
call fcn.00405608
mov eax, dword [ebp - 0xf0c]
call fcn.004c6770
mov edx, dword [ebp - 0x54]
mov eax, 0x502ec4
call fcn.0040588c
test eax, eax
jle 0x4fcae5
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.005266c8
dec eax
jne 0x4fcae5
mov byte [ebp - 0x2f], 0
cmp byte [ebp - 0x2f], 0
jne 0x4fcb21
mov al, byte [ebp - 0x2f]
call fcn.004a11e8
mov edx, eax
lea eax, [ebp - 0xf18]
call fcn.00405460
mov ecx, dword [ebp - 0xf18]
lea eax, [ebp - 0xf14]
mov edx, 0x502ed4
call fcn.00405594
mov eax, dword [ebp - 0xf14]
call fcn.004c6770
cmp byte [ebp - 0x2f], 0
je 0x4fcb77
lea eax, [ebp - 0x2ec]
mov edx, 0x1ff
call fcn.005b27b8
test al, al
je 0x4fcb3f
mov byte [ebp - 0x2f], 0
cmp byte [ebp - 0x2f], 0
je 0x4fcb60
lea eax, [ebp - 0x2ec]
mov ecx, dword [ebp - 0x2c]
mov edx, 0x1ff
call fcn.005b2a28
test al, al
je 0x4fcb60
mov byte [ebp - 0x2f], 0
lea eax, [ebp - 0x2ec]
mov edx, 0x1ff
call fcn.005b2c3c
dec eax
jne 0x4fcb77
mov byte [ebp - 0x2f], 0
mov eax, 0x502eec
call fcn.0049d570
test al, al
je 0x4fcb8f
cmp dword [ebp - 4], 3
jg 0x4fcb8f
mov byte [ebp - 0x2f], 0
mov eax, 0x502efc
call fcn.0049d570
test al, al
je 0x4fcbaa
cmp dword [ebp - 4], 0x96
jg 0x4fcbaa
mov byte [ebp - 0x2f], 0
mov eax, 0x502f0c
call fcn.0049d570
test al, al
je 0x4fcbc5
cmp dword [ebp - 4], 0x96
jg 0x4fcbc5
mov byte [ebp - 0x2f], 0
mov eax, 0x502f1c
call fcn.0049d570
test al, al
je 0x4fcbdd
cmp dword [ebp - 4], 0xf
jg 0x4fcbdd
mov byte [ebp - 0x2f], 0
mov eax, 0x502f30
call fcn.0049d570
test al, al
je 0x4fcbf5
cmp dword [ebp - 4], 0xf
jg 0x4fcbf5
mov byte [ebp - 0x2f], 0
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea eax, [edx + eax]
mov edx, 0x502f3c
mov cl, 0x82
call fcn.00403280
cmp byte [ebp - 0x2f], 0
je 0x4fcc35
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea eax, [edx + eax]
mov edx, 0x502f44
mov cl, 0x82
call fcn.00403280
jmp 0x4fcc51
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea eax, [edx + eax]
mov edx, 0x502f48
mov cl, 0x82
call fcn.00403280
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0xfa8]
call fcn.004032b0
mov edx, 0x502f4c
lea eax, [ebp - 0xfa8]
mov cl, 0x86
call fcn.00403280
lea edx, [ebp - 0xfa8]
lea eax, [ebp - 0xf20]
call fcn.004054ec
push dword [ebp - 0xf20]
lea edx, [ebp - 0xfac]
xor eax, eax
mov al, byte [ebp - 0x2f8]
call fcn.0040a83c
push dword [ebp - 0xfac]
push 0x502f5c
lea edx, [ebp - 0xfb0]
xor eax, eax
mov al, byte [ebp - 0x2f7]
call fcn.0040a83c
push dword [ebp - 0xfb0]
push 0x502ad4
lea eax, [ebp - 0xf1c]
mov edx, 5
call fcn.00405608
mov edx, dword [ebp - 0xf1c]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
mov edx, 0x502f64
lea eax, [ebp - 0x103c]
call fcn.004032b0
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0x103c]
mov cl, 0x85
call fcn.00403280
lea edx, [ebp - 0x103c]
lea eax, [ebp - 0xfb4]
call fcn.004054ec
mov eax, dword [ebp - 0xfb4]
call fcn.004c6770
mov eax, dword [0x7d67ec]
cmp byte [eax], 0
je 0x4fcdd4
push 0x200
push 0x502f70
lea edx, [ebp - 0x1048]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0x1048]
push 0x502f7c
lea eax, [ebp - 0x1044]
mov edx, 3
call fcn.00405608
mov eax, dword [ebp - 0x1044]
push eax
lea edx, [ebp - 0x104c]
xor eax, eax
call fcn.004a29b8
mov eax, dword [ebp - 0x104c]
lea ecx, [ebp - 0x1040]
pop edx
call fcn.0049d0c8
mov eax, dword [ebp - 0x1040]
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
call fcn.004a2220
cmp byte [ebp - 0x2f7], 1
jne 0x4fce38
lea eax, [ebp - 0x54]
call fcn.00405278
xor eax, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp byte [ebp + eax - 0x2ec], 0
je 0x4fce04
lea eax, [ebp - 0x54]
mov edx, 0x502f8c
call fcn.00405550
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x10
jne 0x4fcdea
mov eax, dword [ebp - 0x54]
call fcn.00405548
dec eax
jg 0x4fce38
mov byte [ebp - 0x2f], 0
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea eax, [edx + eax]
mov edx, 0x502f90
mov cl, 0x82
call fcn.00403280
mov eax, 0x502fa0
call fcn.0049d570
test al, al
je 0x4fce63
cmp dword [ebp - 4], 1
jne 0x4fce63
push 0
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
mov eax, 0x502fb8
call fcn.00519594
mov eax, 0x502fc4
call fcn.0049d570
test al, al
je 0x4fce75
mov byte [ebp - 0x2f], 0
lea eax, [ebp - 0x2ec]
mov edx, 0x200
call fcn.005773e0
test al, al
jne 0x4fce8d
mov byte [ebp - 0x2f], 0
cmp byte [ebp - 0x2f], 0
je 0x4fcf52
mov dword [ebp - 0x1c], 0x14
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0x80
jb 0x4fcedd
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ed], 0x20
jne 0x4fcedd
cmp dword [ebp - 0x1c], 0x20
jl 0x4fcedd
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jg 0x4fcedd
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 0x4fcec9
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0
je 0x4fcef7
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0x1f
ja 0x4fcf18
mov eax, dword [ebp - 0x1c]
cmp eax, 0x27
jg 0x4fcf52
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 0x4fcf02
jmp 0x4fcf52
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0
je 0x4fcf45
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0x20
jb 0x4fcf3f
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0x7f
jbe 0x4fcf45
mov byte [ebp - 0x2f], 0
jmp 0x4fcf52
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x28
jne 0x4fce9e
cmp byte [ebp - 0x2f], 0
je 0x4fcfac
mov dword [ebp - 0x1c], 0x2e
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0
je 0x4fcfa3
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0x20
jb 0x4fcf86
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0x7f
jbe 0x4fcfa3
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.005770bc
jmp 0x4fcfac
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x36
jne 0x4fcf5f
cmp byte [ebp - 0x2f], 0
je 0x4fd01d
mov dword [ebp - 0x1c], 0x36
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0
jne 0x4fcfe7
mov eax, dword [ebp - 0x1c]
cmp eax, 0x5d
jg 0x4fd01d
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 0x4fcfd1
jmp 0x4fd01d
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0
je 0x4fd014
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0x20
jb 0x4fd00e
mov eax, dword [ebp - 0x1c]
cmp byte [ebp + eax - 0x2ec], 0x7f
jbe 0x4fd014
mov byte [ebp - 0x2f], 0
jmp 0x4fd01d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x5e
jne 0x4fcfb9
cmp byte [ebp - 0x2f], 0
je 0x4fd0ec
lea eax, [ebp - 0x54]
call fcn.00405278
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 0x4fd04d
inc dword [ebp - 0x20]
jmp 0x4fd070
lea eax, [ebp - 0x1050]
mov edx, dword [ebp - 0x1c]
mov dl, byte [ebp + edx - 0x2ec]
call fcn.00405460
mov edx, dword [ebp - 0x1050]
lea eax, [ebp - 0x54]
call fcn.00405550
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x28
jne 0x4fd03b
lea edx, [ebp - 0x1054]
mov eax, dword [ebp - 0x54]
call fcn.0040a348
mov eax, dword [ebp - 0x1054]
call fcn.00405548
cmp eax, 5
jge 0x4fd0ac
mov edx, dword [ebp - 0x54]
mov eax, 0x502fd4
call fcn.0040588c
test eax, eax
jne 0x4fd0ac
mov byte [ebp - 0x2f], 0
lea edx, [ebp - 0x1058]
mov eax, dword [ebp - 0x54]
call fcn.0040a348
mov eax, dword [ebp - 0x1058]
call fcn.00405548
cmp eax, dword [ebp - 0x20]
jge 0x4fd0ec
lea edx, [ebp - 0x105c]
mov eax, dword [ebp - 0x54]
call fcn.0040a348
mov eax, dword [ebp - 0x105c]
call fcn.00405548
cmp eax, 7
jge 0x4fd0ec
mov byte [ebp - 0x2f], 0
lea eax, [ebp - 0x40]
mov edx, dword [ebp - 0x54]
call fcn.00405310
cmp byte [ebp - 0x2f], 0
je 0x4fd217
lea eax, [ebp - 0x54]
call fcn.00405278
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 0x4fd127
inc dword [ebp - 0x20]
jmp 0x4fd14a
lea eax, [ebp - 0x1060]
mov edx, dword [ebp - 0x1c]
mov dl, byte [ebp + edx - 0x2ec]
call fcn.00405460
mov edx, dword [ebp - 0x1060]
lea eax, [ebp - 0x54]
call fcn.00405550
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x5e
jne 0x4fd115
lea edx, [ebp - 0x1064]
mov eax, dword [ebp - 0x54]
call fcn.0040a348
mov edx, dword [ebp - 0x1064]
lea eax, [ebp - 0x54]
call fcn.00405310
mov eax, dword [ebp - 0x54]
call fcn.00405548
cmp eax, 5
jge 0x4fd180
mov byte [ebp - 0x2f], 0
mov eax, dword [ebp - 0x54]
call fcn.00405548
cmp eax, dword [ebp - 0x20]
jge 0x4fd19e
mov eax, dword [ebp - 0x54]
call fcn.00405548
cmp eax, 0x14
jge 0x4fd19e
mov byte [ebp - 0x2f], 0
cmp dword [ebp - 0x20], 0xa
jle 0x4fd217
lea edx, [ebp - 0x1068]
mov eax, dword [ebp - 0x54]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1068]
mov eax, 0x502fe8
call fcn.0040588c
test eax, eax
jle 0x4fd217
lea edx, [ebp - 0x106c]
mov eax, dword [ebp - 0x54]
call fcn.0040a0f8
mov edx, dword [ebp - 0x106c]
mov eax, 0x502ff8
call fcn.0040588c
test eax, eax
jle 0x4fd217
mov edx, dword [ebp - 0x54]
mov eax, 0x503008
call fcn.0040588c
test eax, eax
jle 0x4fd217
mov edx, dword [ebp - 0x54]
mov eax, 0x503014
call fcn.0040588c
test eax, eax
jle 0x4fd217
cmp byte [ebp - 0x2ec], 0
jne 0x4fd217
mov byte [ebp - 0x2f], 0
cmp byte [ebp - 0x2f], 0
je 0x4fd2c6
push 0x503020
lea eax, [ebp - 0x1078]
push eax
mov eax, dword [ebp - 0x54]
call fcn.00405548
mov ecx, eax
mov edx, 9
mov eax, dword [ebp - 0x54]
call fcn.004057a8
mov eax, dword [ebp - 0x1078]
lea edx, [ebp - 0x1074]
call fcn.004a2470
push dword [ebp - 0x1074]
push 0x50303c
lea eax, [ebp - 0x1080]
push eax
mov ecx, 8
mov edx, 1
mov eax, dword [ebp - 0x54]
call fcn.004057a8
mov eax, dword [ebp - 0x1080]
lea edx, [ebp - 0x107c]
call fcn.004a2470
push dword [ebp - 0x107c]
push 0x50304c
lea edx, [ebp - 0x1084]
mov eax, dword [ebp - 0x40]
call fcn.004a2470
push dword [ebp - 0x1084]
lea eax, [ebp - 0x1070]
mov edx, 6
call fcn.00405608
mov eax, dword [ebp - 0x1070]
call fcn.004c6770
jmp 0x4fd2ea
push 0x200
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
mov eax, 0x50305c
call fcn.004c6804
mov eax, 0x503078
call fcn.004c6770
mov edx, dword [ebp - 0x54]
mov eax, 0x503094
call fcn.0040588c
test eax, eax
jle 0x4fd2ff
mov byte [ebp - 0x2f], 0
lea eax, [ebp - 0x2ec]
mov ecx, 0x200
mov edx, 0x1ff
call fcn.0053e93c
test al, al
je 0x4fd360
lea eax, [ebp - 0x1088]
push eax
mov ecx, 8
mov edx, 1
mov eax, dword [ebp - 0x54]
call fcn.004057a8
mov edx, dword [ebp - 0x1088]
mov eax, dword [ebp - 4]
call fcn.005b206c
mov edx, dword [ebp - 4]
xor eax, eax
call fcn.0053d3dc
call fcn.0053e9e8
test al, al
je 0x4fd35c
mov dword [ebp - 0xb4], 1
mov byte [ebp - 0x2f], 0
mov edx, dword [ebp - 0x54]
mov eax, 0x5030a8
call fcn.0040588c
test eax, eax
jle 0x4fd375
mov byte [ebp - 0x2f], 0
mov edx, dword [ebp - 0x54]
mov eax, 0x5030b8
call fcn.0040588c
test eax, eax
jle 0x4fd38a
mov byte [ebp - 0x2f], 0
mov edx, dword [ebp - 0x54]
mov eax, 0x5030c8
call fcn.0040588c
test eax, eax
jle 0x4fd39f
mov byte [ebp - 0x2f], 0
mov edx, dword [ebp - 0x54]
mov eax, 0x5030d8
call fcn.0040588c
test eax, eax
jle 0x4fd3b4
mov byte [ebp - 0x2f], 0
cmp dword [ebp - 4], 7
jl 0x4fd48f
lea edx, [ebp - 0x1090]
mov eax, dword [ebp - 0x40]
call fcn.004a2470
mov eax, dword [ebp - 0x1090]
lea edx, [ebp - 0x108c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x108c]
mov eax, 0x5030e8
call fcn.0040588c
test eax, eax
jle 0x4fd48f
push 0x503100
lea edx, [ebp - 0x1098]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0x1098]
push 0x503114
lea edx, [ebp - 0x109c]
mov eax, dword [ebp - 0x40]
call fcn.004a2470
push dword [ebp - 0x109c]
lea eax, [ebp - 0x1094]
mov edx, 4
call fcn.00405608
mov eax, dword [ebp - 0x1094]
call fcn.004c6770
mov eax, dword [ebp - 0x2c]
call fcn.005aa59c
mov dword [ebp - 0x88], eax
lea edx, [ebp - 0x10a4]
mov eax, dword [ebp - 0x88]
call fcn.0040a83c
mov ecx, dword [ebp - 0x10a4]
lea eax, [ebp - 0x10a0]
mov edx, 0x503120
call fcn.00405594
mov eax, dword [ebp - 0x10a0]
call fcn.004c6770
cmp dword [ebp - 0x88], 7
jne 0x4fd48f
mov byte [ebp - 0x2f], 0
cmp byte [ebp - 0x2f], 0
jne 0x4fe7fd
lea eax, [ebp - 0x10ac]
imul edx, dword [ebp - 0x18], 0x65
mov ecx, dword [0x7d6320]
lea edx, [ecx + edx]
call fcn.004054ec
mov eax, dword [ebp - 0x10ac]
lea edx, [ebp - 0x10a8]
call fcn.0040a0f8
mov edx, dword [ebp - 0x10a8]
mov eax, 0x503134
call fcn.0040588c
test eax, eax
jg 0x4fd4e4
mov eax, dword [0x7d6490]
mov edx, dword [ebp - 0x18]
cmp dword [eax + edx*4], 0
jl 0x4fd4f9
mov eax, dword [ebp + 8]
mov edx, 0x502ad4
call fcn.00405550
mov eax, dword [ebp + 8]
jmp 0x4fd7f4
mov eax, dword [ebp - 0x2f8]
mov dword [0xc0d35c], eax
mov eax, dword [ebp - 0x2f4]
mov dword [0xc0d360], eax
mov eax, dword [ebp - 0x2f0]
mov dword [0xc0d364], eax
cmp dword [ebp + 0xc], 0
jle 0x4fd6eb
mov eax, dword [ebp - 0x90]
cmp eax, dword [ebp + 0xc]
jge 0x4fd6eb
inc dword [ebp - 0x90]
lea edx, [ebp - 0x10b4]
mov eax, dword [ebp - 0x90]
call fcn.0040a83c
mov ecx, dword [ebp - 0x10b4]
lea eax, [ebp - 0x10b0]
mov edx, 0x503140
call fcn.00405594
mov eax, dword [ebp - 0x10b0]
call fcn.004c6770
mov eax, dword [0x7d6c64]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_Sleep_1
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
add edx, eax
lea eax, [ebp - 0x1128]
call fcn.004032b0
mov edx, 0x503150
lea eax, [ebp - 0x1128]
mov cl, 0x6b
call fcn.00403280
lea edx, [ebp - 0x1128]
lea eax, [ebp - 0x10bc]
call fcn.004054ec
push dword [ebp - 0x10bc]
lea edx, [ebp - 0x112c]
mov eax, dword [ebp - 0x90]
call fcn.0040a83c
push dword [ebp - 0x112c]
push 0x502d1c
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x1130]
call fcn.0040a928
push dword [ebp - 0x1130]
lea eax, [ebp - 0x10b8]
mov edx, 4
call fcn.00405608
mov edx, dword [ebp - 0x10b8]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6a18]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
call fcn.0040d300
fstp qword [ebp - 0x78]
wait
imul eax, dword [ebp - 4], 0xc9
lea edx, [eax + 0xc01a24]
lea eax, [ebp - 0x1204]
call fcn.004032b0
mov edx, 0x503158
lea eax, [ebp - 0x1204]
mov cl, 0xcb
call fcn.00403280
lea edx, [ebp - 0x1204]
lea eax, [ebp - 0x1138]
call fcn.004054ec
push dword [ebp - 0x1138]
lea edx, [ebp - 0x1208]
mov eax, dword [ebp - 0x90]
call fcn.0040a83c
push dword [ebp - 0x1208]
push 0x502ad4
lea eax, [ebp - 0x1134]
mov edx, 3
call fcn.00405608
mov edx, dword [ebp - 0x1134]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0xc9
add eax, 0xc01a24
mov cl, 0xc8
call fcn.004032bc
jmp 0x4fc920
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 4]
cmp dword [eax + edx*4], 0
je 0x4fd7f4
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
lea eax, [edx + eax*2]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403450
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6454]
imul ecx, dword [ebp - 4], 0x651
mov ebx, dword [0x7d6be0]
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 [0x7d6be0]
lea edi, [edx + eax*2 + 0xc2b]
mov esi, 0x50315c
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 [0x7d6be0]
mov byte [edx + eax*2 + 0xc6d], 0
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
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 [0x7d6594]
mov edx, dword [ebp - 4]
mov byte [eax + edx], 0
mov edx, 0x503164
lea eax, [ebp - 0x1298]
call fcn.004032b0
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0x1298]
mov cl, 0x8e
call fcn.00403280
lea edx, [ebp - 0x1298]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
mov eax, dword [ebp + 8]
call fcn.00405278
jmp 0x50263a
mov eax, dword [0x7d7484]
cmp dword [eax], 2
jne 0x4fe6e1
cmp byte [0x7cd6b0], 0
je 0x4fe58d
mov eax, dword [ebp - 0xb4]
push eax
push dword [ebp - 0x44]
push 0x502a18
lea edx, [ebp - 0x12a0]
mov eax, dword [ebp - 0x18]
call fcn.0040a83c
push dword [ebp - 0x12a0]
lea eax, [ebp - 0x129c]
mov edx, 3
call fcn.00405608
mov eax, dword [ebp - 0x129c]
imul edx, dword [ebp - 0x18], 0xac1
mov ecx, dword [0x7d65a0]
lea edx, [ecx + edx*8]
mov ecx, dword [ebp - 0x2c]
call fcn.00585918
test al, al
je 0x4fe58d
mov eax, dword [ebp - 0x18]
inc eax
mov edx, dword [0x7d6870]
cmp eax, dword [edx]
jl 0x4fd89c
mov eax, dword [ebp - 0x18]
inc eax
mov edx, dword [0x7d6870]
mov dword [edx], eax
mov eax, dword [0x7d6870]
mov eax, dword [eax]
mov edx, dword [0x7d6490]
cmp dword [edx + eax*4], 9
jne 0x4fd89c
mov eax, dword [0x7d6870]
inc dword [eax]
imul eax, dword [ebp - 0x18], 0xac1
mov edx, dword [0x7d65a0]
lea edx, [edx + eax*8]
mov eax, 0x502914
call fcn.00402c58
test eax, eax
jle 0x4fd9bb
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea eax, [edx + eax]
imul edx, dword [ebp - 0x18], 0xac1
mov ecx, dword [0x7d65a0]
lea edx, [ecx + edx*8]
mov cl, 0x82
call fcn.004032bc
cmp byte [ebp - 9], 0
je 0x4fd8fc
call fcn.0040d300
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
add edx, eax
lea eax, [ebp - 0x1314]
call fcn.004032b0
mov edx, 0x503174
lea eax, [ebp - 0x1314]
mov cl, 0x6e
call fcn.00403280
lea edx, [ebp - 0x1314]
lea eax, [ebp - 0x12a4]
call fcn.004054ec
lea eax, [ebp - 0x12a4]
push eax
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x1318]
call fcn.0040a928
mov edx, dword [ebp - 0x1318]
pop eax
call fcn.00405550
mov edx, dword [ebp - 0x12a4]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6a18]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
mov eax, dword [ebp + 8]
mov edx, 0x503188
call fcn.004052cc
mov eax, dword [0x7d6594]
mov edx, dword [ebp - 0x18]
mov byte [eax + edx], 0
jmp 0x501ebd
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
add edx, eax
mov eax, 0x503198
call fcn.00402c58
test eax, eax
jle 0x4fdafa
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 0x4fda06
call fcn.0040d300
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
add edx, eax
lea eax, [ebp - 0x1314]
call fcn.004032b0
mov edx, 0x503174
lea eax, [ebp - 0x1314]
mov cl, 0x6e
call fcn.00403280
lea edx, [ebp - 0x1314]
lea eax, [ebp - 0x131c]
call fcn.004054ec
lea eax, [ebp - 0x131c]
push eax
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x1320]
call fcn.0040a928
mov edx, dword [ebp - 0x1320]
pop eax
call fcn.00405550
mov edx, dword [ebp - 0x131c]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6a18]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a6c
mov eax, dword [ebp + 8]
call fcn.00405278
mov eax, dword [ebp - 8]
add eax, 0xc6d
mov edx, 0x502960
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040335c
je 0x501ebd
mov eax, dword [0x7d6594]
mov edx, dword [ebp - 0x18]
mov byte [eax + edx], 0
jmp 0x501ebd
imul eax, dword [ebp - 0x18], 0xac1
mov edx, dword [0x7d65a0]
cmp dword [edx + eax*8 + 0x174], 0
jl 0x4fe394
imul eax, dword [ebp - 0x18], 0xac1
mov edx, dword [0x7d65a0]
mov eax, dword [edx + eax*8 + 0x174]
cmp eax, 0xa
ja case.default.0x4fdb32
jmp dword [eax*4 + 0x4fdb39]
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
mov dword [edx + eax], 0x41544103
lea eax, [ebp - 0x48]
push eax
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 0x18]
mov eax, dword [eax + edx*4]
mov ecx, 8
mov edx, 0x99
call fcn.004057a8
mov eax, dword [ebp - 0x48]
call fcn.00405548
test eax, eax
jle 0x4fdf35
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 0x4fdc4b
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
lea edi, [edx + eax]
mov esi, 0x5031a0
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor eax, eax
push ebp
push 0x4fdc3c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x48]
test byte [eax], 8
je 0x4fdc0e
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
lea eax, [edx + eax]
mov edx, 0x5031a8
mov cl, 0x64
call fcn.00403280
jmp 0x4fdc2f
mov eax, dword [ebp - 0x48]
test byte [eax], 4
je 0x4fdc2f
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
lea eax, [edx + eax]
mov edx, 0x5031b0
mov cl, 0x64
call fcn.00403280
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4fdf35
inc dword [ebp - 0x88]
dec dword [ebp - 0xbc]
jne 0x4fdbb4
jmp 0x4fdf35
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
lea edi, [edx + eax]
mov esi, 0x5031b4
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x4fdf35
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
lea edi, [edx + eax]
mov esi, 0x5031cc
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x4fdf35
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
lea edi, [edx + eax]
mov esi, 0x5031e4
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 0x4fdf35
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
lea edi, [edx + eax]
mov esi, 0x5031f4
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 0x4fdf35
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
lea edi, [edx + eax]
mov esi, 0x503208
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], 0xac1
mov edx, dword [0x7d65a0]
cmp byte [edx + eax*8 + 0xe0], 0x53
jne 0x4fdf35
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
add edx, eax
lea eax, [ebp - 0x138c]
call fcn.004032b0
mov edx, 0x50321c
lea eax, [ebp - 0x138c]
mov cl, 0x66
call fcn.00403280
lea edx, [ebp - 0x138c]
lea eax, [ebp - 0x1324]
call fcn.004054ec
lea eax, [ebp - 0x1324]
push eax
imul eax, dword [ebp - 0x18], 0xac1
mov edx, dword [0x7d65a0]
movzx eax, byte [edx + eax*8 + 0xdf]
lea edx, [ebp - 0x1390]
call fcn.0040a83c
mov edx, dword [ebp - 0x1390]
pop eax
call fcn.00405550
mov edx, dword [ebp - 0x1324]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 0x18], 0x65
mov ecx, dword [0x7d6320]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
jmp 0x4fdf35
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
lea edi, [edx + eax]
mov esi, 0x503220
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x4fdf35
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
lea edi, [edx + eax]
mov esi, 0x503238
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.005b2698
test al, al
je 0x4fde0a
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
lea eax, [edx + eax]
mov edx, 0x50324c
mov cl, 0x64
call fcn.00403280
mov eax, dword [ebp - 0x18]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
cmp word [edx + eax + 0xd], 0x51
jb 0x4fdf35
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
add edx, eax
lea eax, [ebp - 0x138c]
call fcn.004032b0
mov edx, 0x503250
lea eax, [ebp - 0x138c]
mov cl, 0x66
call fcn.00403280
lea edx, [ebp - 0x138c]
lea eax, [ebp - 0x13f8]
call fcn.004032b0
lea eax, [ebp - 0x13fc]
mov edx, dword [ebp - 0x18]
mov ecx, edx
shl edx, 4
add edx, ecx
mov ecx, dword [0x7d6aec]
movzx edx, word [ecx + edx + 0xd]
sub edx, 0x10
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x13fc]
lea eax, [ebp - 0x13f8]
mov cl, 0x67
call fcn.00403280
lea edx, [ebp - 0x13f8]
lea eax, [ebp - 0x1468]
call fcn.004032b0
mov edx, 0x503254
lea eax, [ebp - 0x1468]
mov cl, 0x68
call fcn.00403280
lea edx, [ebp - 0x1468]
imul eax, dword [ebp - 0x18], 0x65
mov ecx, dword [0x7d6320]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
jmp 0x4fdf35
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
lea edi, [edx + eax]
mov esi, 0x503258
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x4fdf35
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
lea edi, [edx + eax]
mov esi, 0x503270
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
jmp 0x4fdf35
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
lea edi, [edx + eax]
mov esi, 0x503288
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x4fdf35
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
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, 0x503134
call fcn.00405310
imul eax, dword [ebp - 0x18], 0xac1
mov edx, dword [0x7d65a0]
cmp dword [edx + eax*8 + 0x174], 0xa
jne 0x4fdf7c
lea eax, [ebp - 0x48]
mov edx, 0x50329c
call fcn.00405310
imul eax, dword [ebp - 0x18], 0xac1
mov edx, dword [0x7d65a0]
lea edx, [edx + eax*8]
mov eax, 0x5032a4
call fcn.00402c58
dec eax
jne 0x4fdfbf
lea eax, [ebp - 0x48]
mov edx, 0x5032b4
call fcn.00405550
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
lea eax, [edx + eax]
mov edx, 0x5032bc
mov cl, 0x64
call fcn.00403280
lea eax, [ebp - 0x4c]
call fcn.00405278
imul eax, dword [ebp - 0x18], 0xac1
mov edx, dword [0x7d65a0]
cmp dword [edx + eax*8 + 0x174], 0
jne 0x4fe058
lea eax, [ebp - 0x48]
mov edx, 0x5032c8
call fcn.00405310
mov eax, dword [ebp - 4]
lea eax, [eax + eax*2]
mov edx, dword [0x7d62f0]
cmp byte [edx + eax + 1], 0xc8
jne 0x4fe00b
lea eax, [ebp - 0x48]
mov edx, 0x5032d8
call fcn.00405310
lea eax, [ebp - 0x1470]
imul edx, dword [ebp - 0x18], 0x97
mov ecx, dword [0x7d6f8c]
lea edx, [ecx + edx]
call fcn.004054ec
mov eax, dword [ebp - 0x1470]
lea edx, [ebp - 0x146c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x146c]
mov eax, 0x5032ec
call fcn.0040588c
test eax, eax
jle 0x4fe058
lea eax, [ebp - 0x48]
mov edx, 0x503304
call fcn.00405310
imul eax, dword [ebp - 0x18], 0xac1
mov edx, dword [0x7d65a0]
cmp dword [edx + eax*8 + 0x174], 9
jne 0x4fe07c
lea eax, [ebp - 0x4c]
mov edx, 0x503318
call fcn.00405310
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
mov eax, 0x503320
call fcn.00402c58
test eax, eax
jle 0x4fe10d
push dword [ebp - 0x4c]
push 0x502ad4
lea eax, [ebp - 0x98c]
push eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
mov eax, 0x503320
call fcn.00402c58
mov edx, eax
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
movzx ecx, byte [ecx + eax]
imul eax, dword [ebp - 4], 0x83
mov ebx, dword [0x7d6d40]
lea eax, [ebx + eax]
call fcn.004029ac
lea edx, [ebp - 0x98c]
lea eax, [ebp - 0x1474]
call fcn.004054ec
push dword [ebp - 0x1474]
lea eax, [ebp - 0x4c]
mov edx, 3
call fcn.00405608
mov eax, dword [ebp - 0x18]
shl eax, 2
lea eax, [eax + eax*2]
mov edx, dword [0x7d6f38]
cmp byte [edx + eax*8 + 0x42], 0
jne 0x4fe133
lea eax, [ebp - 0x4c]
mov ecx, dword [ebp - 0x4c]
mov edx, 0x50332c
call fcn.00405594
push 0x50333c
push dword [ebp - 0x48]
push 0x50334c
push dword [ebp - 0x4c]
lea eax, [ebp - 0x1478]
mov edx, 4
call fcn.00405608
mov edx, dword [ebp - 0x1478]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
cmp byte [ebp - 9], 0
je 0x4fe19d
call fcn.0040d300
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
add edx, eax
lea eax, [ebp - 0x14e8]
call fcn.004032b0
mov edx, 0x503354
lea eax, [ebp - 0x14e8]
mov cl, 0x65
call fcn.00403280
lea edx, [ebp - 0x14e8]
lea eax, [ebp - 0x1480]
call fcn.004054ec
push dword [ebp - 0x1480]
push dword [ebp - 0x48]
push 0x50334c
push dword [ebp - 0x4c]
push 0x502d1c
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x14ec]
call fcn.0040a928
push dword [ebp - 0x14ec]
lea eax, [ebp - 0x147c]
mov edx, 6
call fcn.00405608
mov edx, dword [ebp - 0x147c]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6a18]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a6c
mov eax, dword [ebp + 8]
call fcn.00405278
mov eax, dword [0x7d6594]
mov edx, dword [ebp - 0x18]
mov byte [eax + edx], 0
mov eax, dword [0x7d6490]
mov edx, dword [ebp - 0x18]
cmp dword [eax + edx*4 + 4], 9
jne 0x501ebd
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6320]
lea edi, [edx + eax + 0x65]
mov esi, 0x503358
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
imul eax, dword [ebp - 0x18], 0x83
mov edx, dword [0x7d6d40]
lea edi, [edx + eax + 0x83]
mov esi, 0x503370
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 0x4fe2eb
call fcn.0040d300
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 0x18]
fstp qword [eax + edx*8 + 8]
wait
imul eax, dword [ebp - 0x18], 0x65
mov edx, dword [0x7d6a18]
lea edx, [edx + eax + 0x65]
lea eax, [ebp - 0x1564]
call fcn.004032b0
mov edx, 0x503384
lea eax, [ebp - 0x1564]
mov cl, 0x72
call fcn.00403280
lea edx, [ebp - 0x1564]
lea eax, [ebp - 0x14f0]
call fcn.004054ec
lea eax, [ebp - 0x14f0]
push eax
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x1568]
call fcn.0040a928
mov edx, dword [ebp - 0x1568]
pop eax
call fcn.00405550
mov edx, dword [ebp - 0x14f0]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 0x18], 0x65
mov ecx, dword [0x7d6a18]
lea eax, [ecx + eax + 0x65]
mov cl, 0x64
call fcn.004032bc
jmp 0x501ebd
mov eax, dword [0x7d6594]
mov edx, dword [ebp - 0x18]
mov byte [eax + edx], 1
mov eax, dword [ebp - 8]
lea edi, [eax + 0xc6d]
mov esi, 0x502960
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 [0x7d6be0]
lea edx, [edx + eax*2]
mov eax, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a6c
mov eax, dword [ebp + 8]
call fcn.00405278
mov edx, 0x503394
lea eax, [ebp - 0x1298]
call fcn.004032b0
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0x1298]
mov cl, 0x8e
call fcn.00403280
lea edx, [ebp - 0x1298]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
mov edx, dword [ebp - 0x50]
mov eax, 0x5029f8
call fcn.0040588c
test eax, eax
jle 0x4fe4d0
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0x15f8]
call fcn.004032b0
mov edx, 0x5033a4
lea eax, [ebp - 0x15f8]
mov cl, 0x88
call fcn.00403280
lea edx, [ebp - 0x15f8]
lea eax, [ebp - 0x156c]
call fcn.004054ec
lea eax, [ebp - 0x156c]
push eax
lea edx, [ebp - 0x15fc]
mov eax, dword [ebp - 0x50]
call fcn.004fabfc
mov edx, dword [ebp - 0x15fc]
pop eax
call fcn.00405550
mov edx, dword [ebp - 0x156c]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
cmp byte [ebp - 9], 0
je 0x4fe4e7
call fcn.0040d300
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
add edx, eax
lea eax, [ebp - 0x166c]
call fcn.004032b0
mov edx, 0x5033ac
lea eax, [ebp - 0x166c]
mov cl, 0x6a
call fcn.00403280
lea edx, [ebp - 0x166c]
lea eax, [ebp - 0x1600]
call fcn.004054ec
lea eax, [ebp - 0x1600]
push eax
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x1670]
call fcn.0040a928
mov edx, dword [ebp - 0x1670]
pop eax
call fcn.00405550
mov edx, dword [ebp - 0x1600]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6a18]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
jmp 0x4fe6e1
cmp byte [0x7cd6b0], 0
jne 0x4fe5c1
xor eax, eax
push ebp
push 0x4fe5b7
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 0x4fe5c1
mov eax, dword [ebp - 0x18]
inc eax
mov edx, dword [0x7d6870]
cmp eax, dword [edx]
jl 0x4fe5db
mov eax, dword [ebp - 0x18]
inc eax
mov edx, dword [0x7d6870]
mov dword [edx], eax
mov eax, dword [0x7d6594]
mov edx, dword [ebp - 0x18]
mov byte [eax + edx], 1
mov eax, dword [ebp - 8]
lea edi, [eax + 0xc6d]
mov esi, 0x502960
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.00405278
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea edi, [edx + eax]
mov esi, 0x5033b4
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp byte [ebp - 9], 0
je 0x4fe640
call fcn.0040d300
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
add edx, eax
lea eax, [ebp - 0x16e4]
call fcn.004032b0
mov edx, 0x5033d0
lea eax, [ebp - 0x16e4]
mov cl, 0x6f
call fcn.00403280
lea edx, [ebp - 0x16e4]
lea eax, [ebp - 0x1674]
call fcn.004054ec
lea eax, [ebp - 0x1674]
push eax
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x16e8]
call fcn.0040a928
mov edx, dword [ebp - 0x16e8]
pop eax
call fcn.00405550
mov edx, dword [ebp - 0x1674]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6a18]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
mov eax, dword [0x7d7484]
cmp dword [eax], 2
je 0x4fe6f4
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 4]
cmp dword [eax + edx*4], 0
je 0x501ebd
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
lea eax, [edx + eax*2]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403450
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6454]
imul ecx, dword [ebp - 4], 0x651
mov ebx, dword [0x7d6be0]
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 [0x7d6be0]
lea edi, [edx + eax*2 + 0xc2b]
mov esi, 0x50315c
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 [0x7d6be0]
mov byte [edx + eax*2 + 0xc6d], 0
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
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 [0x7d6594]
mov edx, dword [ebp - 4]
mov byte [eax + edx], 0
mov edx, 0x5033dc
lea eax, [ebp - 0x1298]
call fcn.004032b0
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0x1298]
mov cl, 0x8e
call fcn.00403280
lea edx, [ebp - 0x1298]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
mov eax, dword [ebp + 8]
call fcn.00405278
jmp 0x50263a
mov eax, dword [0x7d7484]
cmp dword [eax], 2
jne 0x4fe831
cmp byte [ebp - 0x2f], 0
je 0x4fe831
mov eax, dword [ebp - 0x18]
inc eax
mov edx, dword [0x7d6870]
cmp eax, dword [edx]
jl 0x4fe831
mov eax, dword [0x7d6870]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
inc eax
mov edx, dword [0x7d6870]
mov dword [edx], eax
mov eax, dword [0x7d7484]
cmp dword [eax], 2
je 0x4fe860
lea eax, [ebp - 0x2ec]
mov edx, 0x200
call fcn.005773e0
test al, al
jne 0x4fe853
mov byte [ebp - 0x2f], 0
test byte [ebp - 0x2ec], 0x80
je 0x4fe860
mov byte [ebp - 0x2f], 0
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
add edx, eax
lea eax, [ebp - 0x1128]
call fcn.004032b0
mov edx, 0x5033ec
lea eax, [ebp - 0x1128]
mov cl, 0x6b
call fcn.00403280
lea edx, [ebp - 0x1128]
lea eax, [ebp - 0x16ec]
call fcn.004054ec
lea eax, [ebp - 0x16ec]
push eax
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x16f0]
call fcn.0040a928
mov edx, dword [ebp - 0x16f0]
pop eax
call fcn.00405550
mov edx, dword [ebp - 0x16ec]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6a18]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
call fcn.0040d300
fstp qword [ebp - 0x78]
wait
mov eax, dword [ebp + 8]
mov edx, 0x5033fc
call fcn.004052cc
lea eax, [ebp - 0x16f4]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
lea eax, [ebp - 0x16f4]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405550
mov edx, dword [ebp - 0x16f4]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
cmp byte [ebp - 0x2f], 0
jne 0x4fec57
push 0x503408
call sub.kernel32.dll_GetLastError_1
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x16f8]
call fcn.0040a928
push dword [ebp - 0x16f8]
push 0x50341c
mov eax, dword [ebp + 8]
mov edx, 3
call fcn.00405608
lea eax, [ebp - 0x16fc]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
lea eax, [ebp - 0x16fc]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405550
mov edx, dword [ebp - 0x16fc]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
lea eax, [ebp - 0xec]
xor ecx, ecx
mov edx, 0x20
call fcn.00403450
lea eax, [ebp - 0x2fc]
xor ecx, ecx
mov edx, 0x210
call fcn.00403450
mov dword [ebp - 0xec], 0x200
mov byte [ebp - 0xe7], 1
mov byte [ebp - 0xe6], 1
mov byte [ebp - 0xe2], 0xa1
mov eax, dword [0x7d7484]
cmp dword [eax], 2
jne 0x4fea76
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 0x4fea9c
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0xc0c794]
mov byte [ebp - 0xe3], al
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0xc0c796]
mov byte [ebp - 0xe0], al
mov dword [ebp - 0x2fc], 0x210
mov eax, 0x50342c
call fcn.004c6770
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 [0x7d7484]
cmp dword [eax], 2
je 0x4feb11
lea eax, [ebp - 0x2ec]
mov edx, 0x200
call fcn.005773e0
test al, al
jne 0x4feb04
mov byte [ebp - 0x2f], 0
test byte [ebp - 0x2ec], 0x80
je 0x4feb11
mov byte [ebp - 0x2f], 0
lea ecx, [ebp - 0x1704]
xor edx, edx
mov al, byte [ebp - 0x2f]
call fcn.0040ac1c
mov ecx, dword [ebp - 0x1704]
lea eax, [ebp - 0x1700]
mov edx, 0x503444
call fcn.00405594
mov eax, dword [ebp - 0x1700]
call fcn.004c6770
mov eax, dword [ebp + 8]
mov edx, 0x50345c
call fcn.004052cc
lea eax, [ebp - 0x1708]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
lea eax, [ebp - 0x1708]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405550
mov edx, dword [ebp - 0x1708]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
add edx, eax
lea eax, [ebp - 0x1128]
call fcn.004032b0
mov edx, 0x503460
lea eax, [ebp - 0x1128]
mov cl, 0x6b
call fcn.00403280
lea edx, [ebp - 0x1128]
lea eax, [ebp - 0x170c]
call fcn.004054ec
lea eax, [ebp - 0x170c]
push eax
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x1710]
call fcn.0040a928
mov edx, dword [ebp - 0x1710]
pop eax
call fcn.00405550
mov edx, dword [ebp - 0x170c]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6a18]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
call fcn.0040d300
fstp qword [ebp - 0x78]
wait
mov eax, dword [0x7d7484]
cmp dword [eax], 2
je 0x4fec99
cmp byte [ebp - 0x2f], 0
jne 0x4fec75
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x501ebd
mov eax, dword [ebp - 0x18]
inc eax
mov edx, dword [0x7d6870]
cmp eax, dword [edx]
jl 0x4fec99
mov eax, dword [0x7d6870]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
inc eax
mov edx, dword [0x7d6870]
mov dword [edx], eax
cmp byte [ebp - 0x2f], 0
je 0x4ffb37
mov eax, dword [ebp + 8]
mov edx, 0x503470
call fcn.004052cc
lea eax, [ebp - 0x1714]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
lea eax, [ebp - 0x1714]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405550
mov edx, dword [ebp - 0x1714]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
lea eax, [ebp - 0x58]
call fcn.00405278
xor eax, eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1718]
mov edx, dword [ebp - 0x1c]
mov dl, byte [ebp + edx - 0x2ec]
call fcn.00405460
mov edx, dword [ebp - 0x1718]
lea eax, [ebp - 0x58]
call fcn.00405550
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x200
jne 0x4fed1b
lea eax, [ebp - 0x58]
xor edx, edx
call fcn.005a81dc
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 0x18]
cmp dword [eax + edx*4], 0
jne 0x4fed77
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 0x18]
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0x58]
call fcn.004052cc
jmp 0x4fedb5
lea eax, [ebp - 0x171c]
push eax
mov ecx, 1
mov edx, 0x37
mov eax, dword [ebp - 0x58]
call fcn.004057a8
mov eax, dword [ebp - 0x171c]
mov edx, 0x503480
call fcn.00405694
je 0x4fedb5
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 0x18]
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0x58]
call fcn.004052cc
lea edx, [ebp - 0x1720]
mov eax, dword [ebp - 0x58]
call fcn.0040a348
cmp dword [ebp - 0x1720], 0
je 0x4fede6
mov eax, dword [ebp - 0x18]
shl eax, 2
lea eax, [eax + eax*2]
mov edx, dword [0x7d6f38]
lea edx, [edx + eax*8]
mov al, byte [ebp - 0x18]
call fcn.00577430
lea edx, [ebp - 0x1724]
mov eax, dword [ebp - 0x40]
call fcn.0040a348
cmp dword [ebp - 0x1724], 0
je 0x4fef54
mov eax, dword [ebp - 0x18]
shl eax, 2
lea eax, [eax + eax*2]
mov edx, dword [0x7d6f38]
cmp byte [edx + eax*8], 0
jne 0x4fef54
mov eax, dword [ebp - 0x18]
shl eax, 2
lea eax, [eax + eax*2]
mov edx, dword [0x7d6f38]
cmp byte [edx + eax*8 + 0x42], 0
jne 0x4fef54
mov eax, dword [ebp - 0x18]
shl eax, 2
lea eax, [eax + eax*2]
mov edx, dword [0x7d6f38]
cmp dword [edx + eax*8 + 8], 0
jne 0x4fef54
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
call fcn.00574cfc
test al, al
je 0x4fef54
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 0x18]
lea eax, [eax + edx*4]
call fcn.00405278
mov edx, 0x502d20
lea eax, [ebp - 0x1760]
call fcn.004032b0
imul eax, dword [ebp - 0x18], 0xac1
mov edx, dword [0x7d65a0]
lea edx, [edx + eax*8 + 0x44]
lea eax, [ebp - 0x1760]
mov cl, 0x39
call fcn.00403280
lea edx, [ebp - 0x1760]
lea eax, [ebp - 0x179c]
call fcn.004032b0
mov edx, 0x503354
lea eax, [ebp - 0x179c]
mov cl, 0x3a
call fcn.00403280
lea edx, [ebp - 0x179c]
lea eax, [ebp - 0x185c]
call fcn.004032b0
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0x185c]
mov cl, 0xbc
call fcn.00403280
lea edx, [ebp - 0x185c]
imul eax, dword [ebp - 0x18], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
mov eax, dword [ebp - 8]
lea edi, [eax + 0xc6d]
mov esi, 0x502960
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
push ebp
push 0x4fef3d
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 0x4fef47
mov eax, dword [ebp + 8]
call fcn.00405278
jmp 0x501ebd
mov eax, dword [ebp - 0x18]
call fcn.005adc68
test al, al
je 0x4fefa3
push 0x50348c
lea edx, [ebp - 0x1864]
mov eax, dword [ebp - 0x18]
call fcn.0040a83c
push dword [ebp - 0x1864]
push 0x5034a8
lea eax, [ebp - 0x1860]
mov edx, 3
call fcn.00405608
mov eax, dword [ebp - 0x1860]
call fcn.004c6770
mov eax, dword [ebp - 0x2c]
call fcn.0056bab8
test al, al
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 0x18]
mov eax, dword [eax + edx*4]
call fcn.005ab83c
lea edx, [ebp - 0x186c]
call fcn.0049fff8
mov ecx, dword [ebp - 0x186c]
lea eax, [ebp - 0x1868]
mov edx, 0x5034bc
call fcn.00405594
mov eax, dword [ebp - 0x1868]
call fcn.004c6770
mov eax, dword [0x7d6870]
mov eax, dword [eax]
dec eax
test eax, eax
jl 0x4ffb37
inc eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x18]
je 0x4ffb28
mov eax, dword [0x7d6594]
mov edx, dword [ebp - 0x1c]
cmp byte [eax + edx], 0
jne 0x4ffb28
mov byte [ebp - 0x95], 0
mov eax, 0x5034e0
call fcn.0049d570
test al, al
je 0x4ff043
cmp dword [ebp - 0x1c], 0
jne 0x4ff043
cmp dword [ebp - 0x18], 1
jne 0x4ff043
mov byte [ebp - 0x95], 1
lea edx, [ebp - 0x1870]
mov eax, dword [ebp - 0x1c]
call fcn.00580d30
mov eax, dword [ebp - 0x1870]
push eax
lea edx, [ebp - 0x1874]
mov eax, dword [ebp - 0x18]
call fcn.00580d30
mov edx, dword [ebp - 0x1874]
pop eax
call fcn.00405694
jne 0x4ff119
lea edx, [ebp - 0x1878]
mov eax, dword [ebp - 0x1c]
call fcn.00580fb0
mov eax, dword [ebp - 0x1878]
push eax
lea edx, [ebp - 0x187c]
mov eax, dword [ebp - 0x18]
call fcn.00580fb0
mov edx, dword [ebp - 0x187c]
pop eax
call fcn.00405694
jne 0x4ff119
lea eax, [ebp - 0x1880]
push eax
lea edx, [ebp - 0x1884]
mov eax, dword [ebp - 0x1c]
call fcn.005811dc
mov eax, dword [ebp - 0x1884]
mov ecx, 4
mov edx, 1
call fcn.004057a8
mov eax, dword [ebp - 0x1880]
push eax
lea eax, [ebp - 0x1888]
push eax
lea edx, [ebp - 0x188c]
mov eax, dword [ebp - 0x18]
call fcn.005811dc
mov eax, dword [ebp - 0x188c]
mov ecx, 4
mov edx, 1
call fcn.004057a8
mov edx, dword [ebp - 0x1888]
pop eax
call fcn.00405694
jne 0x4ff119
mov byte [ebp - 0x95], 1
cmp byte [ebp - 0x95], 0
je 0x4ffb28
mov eax, dword [ebp - 0x1c]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
cmp byte [edx + eax], 0
je 0x4ff5dd
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 0x18]
lea eax, [eax + edx*4]
call fcn.00405278
mov eax, dword [ebp - 4]
shl eax, 2
lea eax, [eax + eax*2]
mov edx, dword [0x7d6f38]
lea eax, [edx + eax*8]
xor ecx, ecx
mov edx, 0x60
call fcn.00403450
cmp dword [ebp - 0x10], 0
jl 0x4ff17e
mov eax, dword [0x7d6870]
mov edx, dword [ebp - 0x10]
mov dword [eax], edx
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
lea edx, [edx + eax*2]
mov eax, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a6c
push 0x5034f4
mov eax, dword [ebp + 8]
push dword [eax]
push 0x503504
lea edx, [ebp - 0x1890]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
push dword [ebp - 0x1890]
push 0x503528
mov eax, dword [ebp - 0x1c]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
movzx eax, byte [edx + eax + 1]
lea edx, [ebp - 0x1894]
call fcn.0040a83c
push dword [ebp - 0x1894]
push 0x503534
mov eax, dword [ebp - 0x1c]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
movzx eax, word [edx + eax + 2]
lea edx, [ebp - 0x1898]
call fcn.0040a83c
push dword [ebp - 0x1898]
mov eax, dword [ebp + 8]
mov edx, 8
call fcn.00405608
lea eax, [ebp - 0xa9c]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
mov eax, 0x502d44
call fcn.0049d570
test al, al
je 0x4ff2fc
push 0x503540
lea edx, [ebp - 0x18a0]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0x18a0]
push 0x502d68
mov eax, dword [ebp - 4]
call fcn.005a8144
lea edx, [ebp - 0x18a4]
call fcn.0040a83c
push dword [ebp - 0x18a4]
push 0x502d78
mov eax, dword [ebp - 0x2c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x18a8]
call fcn.0040a928
push dword [ebp - 0x18a8]
push 0x502d8c
lea eax, [ebp - 0x18ac]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
push dword [ebp - 0x18ac]
lea eax, [ebp - 0x189c]
mov edx, 8
call fcn.00405608
mov eax, dword [ebp - 0x189c]
mov dl, 1
call fcn.005540d4
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
mov eax, 0x502d44
call fcn.0049d570
test al, al
je 0x4ff363
push 0x503558
lea edx, [ebp - 0x18b4]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
push dword [ebp - 0x18b4]
push 0x50357c
lea edx, [ebp - 0x18b8]
mov eax, dword [ebp - 0x18]
dec eax
call fcn.0040a83c
push dword [ebp - 0x18b8]
lea eax, [ebp - 0x18b0]
mov edx, 4
call fcn.00405608
mov eax, dword [ebp - 0x18b0]
mov dl, 1
call fcn.005540d4
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
dec edx
sub edx, eax
jl 0x501ebd
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 [0x7d6aec]
cmp byte [edx + eax], 0
je 0x4ff5c9
mov eax, dword [ebp - 0x24]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
cmp byte [edx + eax + 4], 1
jb 0x4ff5c9
mov eax, dword [ebp - 0x24]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
cmp byte [edx + eax + 4], 3
ja 0x4ff5c9
mov eax, 0x502d44
call fcn.0049d570
test al, al
je 0x4ff480
push 0x503588
lea edx, [ebp - 0x18c0]
mov eax, dword [ebp - 0x24]
call fcn.0040a83c
push dword [ebp - 0x18c0]
push 0x5035a8
mov eax, dword [ebp - 0x24]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
movzx eax, byte [edx + eax + 1]
lea edx, [ebp - 0x18c4]
call fcn.0040a83c
push dword [ebp - 0x18c4]
push 0x50357c
lea eax, [ebp - 0x18c8]
imul edx, dword [ebp - 0x24], 0x65
mov ecx, dword [0x7d6320]
lea edx, [ecx + edx]
call fcn.004054ec
push dword [ebp - 0x18c8]
push 0x5035b4
mov eax, dword [ebp - 4]
call fcn.005a8144
lea edx, [ebp - 0x18cc]
call fcn.0040a83c
push dword [ebp - 0x18cc]
lea eax, [ebp - 0x18bc]
mov edx, 8
call fcn.00405608
mov eax, dword [ebp - 0x18bc]
mov dl, 1
call fcn.005540d4
mov eax, dword [ebp - 4]
call fcn.005a8144
mov edx, dword [ebp - 0x24]
mov ecx, edx
shl edx, 4
add edx, ecx
mov ecx, dword [0x7d6aec]
mov byte [ecx + edx + 1], al
push 0x5035c4
mov eax, dword [ebp - 0x24]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
movzx eax, byte [edx + eax + 1]
lea edx, [ebp - 0x18d4]
call fcn.0040a83c
push dword [ebp - 0x18d4]
push 0x503534
mov eax, dword [ebp - 0x24]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
movzx eax, word [edx + eax + 2]
lea edx, [ebp - 0x18d8]
call fcn.0040a83c
push dword [ebp - 0x18d8]
push 0x5035dc
mov eax, dword [ebp - 0x24]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
movzx eax, byte [edx + eax + 4]
lea edx, [ebp - 0x18dc]
call fcn.0040a83c
push dword [ebp - 0x18dc]
push 0x5035e8
lea eax, [ebp - 0x18d0]
mov edx, 7
call fcn.00405608
mov edx, dword [ebp - 0x18d0]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 0x24], 0x65
mov ecx, dword [0x7d6320]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
mov eax, 0x502d44
call fcn.0049d570
test al, al
je 0x4ff5c9
push 0x5035f4
lea edx, [ebp - 0x18e4]
mov eax, dword [ebp - 0x24]
call fcn.0040a83c
push dword [ebp - 0x18e4]
push 0x5035a8
lea eax, [ebp - 0x18e8]
imul edx, dword [ebp - 0x24], 0x65
mov ecx, dword [0x7d6320]
lea edx, [ecx + edx]
call fcn.004054ec
push dword [ebp - 0x18e8]
lea eax, [ebp - 0x18e0]
mov edx, 4
call fcn.00405608
mov eax, dword [ebp - 0x18e0]
mov dl, 1
call fcn.005540d4
inc dword [ebp - 0x24]
dec dword [ebp - 0xc0]
jne 0x4ff37c
jmp 0x501ebd
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 0x1c]
mov eax, dword [eax + edx*4]
cmp byte [eax + 3], 1
je 0x4ff6a2
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 0x1c]
mov edx, dword [eax + edx*4]
mov eax, dword [0xc01a20]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x4ff6a2
xor eax, eax
push ebp
push 0x4ff683
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0xca2
call fcn.00402808
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403450
imul eax, dword [ebp - 0x1c], 0x651
mov edx, dword [0x7d6be0]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0xa4]
mov ecx, 0xca2
call fcn.00402a6c
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 0x1c]
mov edx, dword [eax + edx*4]
mov ecx, dword [ebp - 0xa4]
mov eax, dword [0xc01a20]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ff6a2
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 0x18]
mov eax, dword [eax + edx*4]
cmp byte [eax + 3], 1
je 0x4ff767
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 0x18]
mov edx, dword [eax + edx*4]
mov eax, dword [0xc01a20]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x4ff767
xor eax, eax
push ebp
push 0x4ff748
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0xca2
call fcn.00402808
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403450
imul eax, dword [ebp - 0x18], 0x651
mov edx, dword [0x7d6be0]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 0xa4]
mov ecx, 0xca2
call fcn.00402a6c
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 0x18]
mov edx, dword [eax + edx*4]
mov ecx, dword [ebp - 0xa4]
mov eax, dword [0xc01a20]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ff767
lea ecx, [ebp - 0x5c]
or edx, 0xffffffff
mov eax, dword [ebp - 0x1c]
call fcn.005aa8b4
lea ecx, [ebp - 0x60]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
call fcn.005aa8b4
mov byte [ebp - 0x95], 0
mov eax, 0x5034e0
call fcn.0049d570
test al, al
je 0x4ff79f
mov byte [ebp - 0x95], 1
lea edx, [ebp - 0x18ec]
mov eax, dword [ebp - 0x5c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x18ec]
mov eax, 0x503618
call fcn.0040588c
test eax, eax
jle 0x4ff7ea
lea edx, [ebp - 0x18f0]
mov eax, dword [ebp - 0x5c]
call fcn.0040a0f8
mov edx, dword [ebp - 0x18f0]
mov eax, 0x503628
call fcn.0040588c
test eax, eax
jle 0x4ff7ea
mov byte [ebp - 0x95], 1
lea edx, [ebp - 0x18f4]
mov eax, dword [ebp - 0x60]
call fcn.0040a0f8
mov edx, dword [ebp - 0x18f4]
mov eax, 0x503618
call fcn.0040588c
test eax, eax
jle 0x4ff835
lea edx, [ebp - 0x18f8]
mov eax, dword [ebp - 0x60]
call fcn.0040a0f8
mov edx, dword [ebp - 0x18f8]
mov eax, 0x503628
call fcn.0040588c
test eax, eax
jle 0x4ff835
mov byte [ebp - 0x95], 1
mov al, byte [ebp - 0x95]
call fcn.004a11e8
mov edx, eax
lea eax, [ebp - 0x1900]
call fcn.00405460
mov ecx, dword [ebp - 0x1900]
lea eax, [ebp - 0x18fc]
mov edx, 0x503638
call fcn.00405594
mov eax, dword [ebp - 0x18fc]
call fcn.004c6770
cmp byte [ebp - 0x95], 0
jne 0x4fd7f4
mov eax, dword [ebp - 0x5c]
call fcn.00405548
test eax, eax
jle 0x4ff893
mov eax, dword [ebp - 0x60]
call fcn.00405548
test eax, eax
jg 0x4ff897
xor eax, eax
jmp 0x4ff899
mov al, 1
mov byte [ebp - 0x95], al
cmp byte [ebp - 0x95], 0
je 0x4ffa6f
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 0x1c]
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0x5c]
call fcn.004052cc
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 0x18]
lea eax, [eax + edx*4]
mov edx, dword [ebp - 0x60]
call fcn.004052cc
mov eax, dword [ebp - 0x1c]
shl eax, 2
lea eax, [eax + eax*2]
mov edx, dword [0x7d6f38]
lea edx, [edx + eax*8]
mov al, byte [ebp - 0x1c]
call fcn.00577430
mov eax, dword [ebp - 0x18]
shl eax, 2
lea eax, [eax + eax*2]
mov edx, dword [0x7d6f38]
lea edx, [edx + eax*8]
mov al, byte [ebp - 0x18]
call fcn.00577430
imul eax, dword [ebp - 0x1c], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0x1990]
call fcn.004032b0
mov edx, 0x503640
lea eax, [ebp - 0x1990]
mov cl, 0x8b
call fcn.00403280
lea edx, [ebp - 0x1990]
lea eax, [ebp - 0x1904]
call fcn.004054ec
lea eax, [ebp - 0x1904]
push eax
lea edx, [ebp - 0x1994]
mov eax, dword [ebp - 0x18]
call fcn.0040a83c
mov edx, dword [ebp - 0x1994]
pop eax
call fcn.00405550
mov edx, dword [ebp - 0x1904]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 0x1c], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
mov eax, dword [ebp + 8]
call fcn.00405278
lea edx, [ebp - 0x199c]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x199c]
lea eax, [ebp - 0x1998]
mov edx, 0x503654
call fcn.00405594
mov edx, dword [ebp - 0x1998]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 0x18], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
cmp byte [ebp - 9], 0
je 0x4ffa0d
call fcn.0040d300
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 0x1c]
fstp qword [eax + edx*8]
wait
lea eax, [ebp - 0x19a0]
push eax
imul eax, dword [ebp - 0x1c], 0x651
mov edx, dword [0x7d6be0]
lea edx, [edx + eax*2]
or ecx, 0xffffffff
mov eax, dword [ebp - 0x1c]
call fcn.005aaafc
lea eax, [ebp - 0x19a4]
push eax
imul eax, dword [ebp - 0x18], 0x651
mov edx, dword [0x7d6be0]
lea edx, [edx + eax*2]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
call fcn.005aaafc
imul eax, dword [ebp - 0x18], 0x651
mov edx, dword [0x7d6be0]
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 0x4ffb03
mov eax, dword [0x7d6594]
mov edx, dword [ebp - 0x18]
mov byte [eax + edx], 1
mov eax, dword [ebp - 8]
lea edi, [eax + 0xc6d]
mov esi, 0x502960
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.00405278
lea edx, [ebp - 0x19ac]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x19ac]
lea eax, [ebp - 0x19a8]
mov edx, 0x50366c
call fcn.00405594
mov edx, dword [ebp - 0x19a8]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
cmp byte [ebp - 9], 0
je 0x4ffb1a
call fcn.0040d300
mov eax, dword [0x7d6428]
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 0x501ebd
inc dword [ebp - 0x1c]
dec dword [ebp - 0xbc]
jne 0x4feffd
lea edx, [ebp - 0x19b0]
mov eax, dword [ebp - 0x40]
call fcn.004a2470
mov edx, dword [ebp - 0x19b0]
lea eax, [ebp - 0x40]
call fcn.00405310
lea eax, [ebp - 0x19b4]
mov ecx, dword [ebp - 0x40]
mov edx, 0x503688
call fcn.00405594
mov eax, dword [ebp - 0x19b4]
call fcn.004c6770
cmp dword [ebp - 4], 1
jne 0x4ffbd0
lea edx, [ebp - 0x19b8]
mov eax, dword [ebp - 0x40]
call fcn.0040a0f8
mov edx, dword [ebp - 0x19b8]
mov eax, 0x50369c
call fcn.0040588c
test eax, eax
jle 0x4ffbd0
mov eax, 0x5036b0
call fcn.0049d570
test al, al
jne 0x4ffbd0
mov eax, 0x5036c0
call fcn.004c6770
mov eax, dword [ebp - 4]
mov dword [0x7cd5d8], eax
lea eax, [ebp - 0x2ec]
xor ecx, ecx
mov edx, 0x200
call fcn.00403450
jmp 0x500fe7
lea edx, [ebp - 0x19bc]
mov eax, dword [ebp - 4]
call fcn.0040a83c
mov eax, dword [ebp - 0x19bc]
mov edx, dword [0xc0d350]
call fcn.0040588c
test eax, eax
jle 0x4ffc86
mov eax, dword [ebp + 8]
call fcn.00405278
cmp byte [ebp - 9], 0
je 0x4ffc16
call fcn.0040d300
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
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 [0x7d6d40]
lea edi, [edx + eax]
mov esi, 0x5036d0
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 0x4ffc77
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 0x501ebd
mov eax, dword [ebp - 4]
shl eax, 2
lea eax, [eax + eax*2]
mov edx, dword [0x7d6f38]
cmp byte [edx + eax*8 + 0x42], 0
jne 0x4ffe17
lea edx, [ebp - 0x19c0]
mov eax, dword [ebp - 4]
call fcn.00580d30
mov eax, dword [ebp - 0x19c0]
call fcn.005aa63c
test al, al
jne 0x4ffe17
push 0
push 0x100000
push 1
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00504d38
call fcn.00406410
cmp edx, 0
jne 0x4ffced
cmp eax, 0x36b0
ja 0x4ffe17
jmp 0x4ffcf3
jg 0x4ffe17
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 4]
call fcn.00580d30
lea eax, [ebp - 0x19c4]
push eax
mov ecx, 2
mov edx, 1
mov eax, dword [ebp - 0x54]
call fcn.004057a8
mov eax, dword [ebp - 0x19c4]
mov edx, 0x5036f4
call fcn.00405694
je 0x4ffe17
lea eax, [ebp - 0x19c8]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x54]
call fcn.004057a8
mov eax, dword [ebp - 0x19c8]
mov edx, 0x503700
call fcn.00405694
je 0x4ffe17
lea eax, [ebp - 0x19cc]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x54]
call fcn.004057a8
mov eax, dword [ebp - 0x19cc]
mov edx, 0x50370c
call fcn.00405694
je 0x4ffe17
mov eax, dword [ebp + 8]
call fcn.00405278
cmp byte [ebp - 9], 0
je 0x4ffdaa
call fcn.0040d300
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
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 [0x7d6d40]
lea edi, [edx + eax]
mov esi, 0x503710
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
xor eax, eax
push ebp
push 0x4ffe08
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 0x501ebd
lea edx, [ebp - 0x19d0]
mov eax, dword [ebp - 4]
call fcn.00580d30
mov eax, dword [ebp - 0x19d0]
call fcn.005b1fd8
test al, al
je 0x4ffec7
mov eax, dword [ebp + 8]
call fcn.00405278
cmp byte [ebp - 9], 0
je 0x4ffe57
call fcn.0040d300
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
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 [0x7d6d40]
lea edi, [edx + eax]
mov esi, 0x503730
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 0x4ffeb8
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 0x501ebd
lea eax, [ebp - 0xec]
xor ecx, ecx
mov edx, 0x20
call fcn.00403450
lea eax, [ebp - 0x2fc]
xor ecx, ecx
mov edx, 0x210
call fcn.00403450
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 [0x7d7484]
cmp dword [eax], 2
jne 0x4fff3b
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 0x4fff61
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0xc0c794]
mov byte [ebp - 0xe3], al
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0xc0c796]
mov byte [ebp - 0xe0], al
mov byte [ebp - 0xe2], 0xb0
mov dword [ebp - 0x2fc], 0x210
mov eax, dword [0x7cd5d8]
cmp eax, dword [ebp - 4]
jg 0x50006d
push 0x503754
lea edx, [ebp - 0x19d8]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0x19d8]
push 0x50376c
lea edx, [ebp - 0x19dc]
mov eax, dword [0x7cd5d8]
call fcn.0040a83c
push dword [ebp - 0x19dc]
lea eax, [ebp - 0x19d4]
mov edx, 4
call fcn.00405608
mov eax, dword [ebp - 0x19d4]
call fcn.004c6770
mov eax, 0x503778
call fcn.0049d570
test al, al
jne 0x4ffffe
mov eax, 0x50378c
call fcn.004c6770
lea eax, [ebp - 0x2ec]
xor ecx, ecx
mov edx, 0x200
call fcn.00403450
jmp 0x500fe7
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
lea edx, [ebp - 0x19e4]
mov eax, dword [0x7cd5d8]
call fcn.0040a83c
mov ecx, dword [ebp - 0x19e4]
lea eax, [ebp - 0x19e0]
mov edx, 0x5037a8
call fcn.00405594
mov edx, dword [ebp - 0x19e0]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
mov eax, dword [ebp + 8]
call fcn.00405278
jmp 0x501ebd
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 4]
mov eax, dword [eax + edx*4]
call fcn.005ab83c
test al, al
jne 0x5001f9
mov eax, 0x5037c0
call fcn.004c6770
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 0x500182
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x19ec]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x19ec]
lea eax, [ebp - 0x19e8]
mov edx, 0x5037d8
call fcn.00405594
mov eax, dword [ebp - 0x19e8]
call fcn.004c6770
push 0x5037f4
lea edx, [ebp - 0x19f0]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
push dword [ebp - 0x19f0]
push 0x502a50
mov eax, dword [ebp + 8]
mov edx, 3
call fcn.00405608
lea eax, [ebp - 0x19f4]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
lea eax, [ebp - 0x19f4]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405550
mov edx, dword [ebp - 0x19f4]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
jmp 0x50021c
mov eax, 0x503804
call fcn.004c6770
mov eax, dword [ebp + 8]
mov edx, 0x503818
call fcn.004052cc
lea eax, [ebp - 0x19f8]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
lea eax, [ebp - 0x19f8]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405550
mov edx, dword [ebp - 0x19f8]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
jmp 0x50021c
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
lea eax, [edx + eax]
mov edx, 0x50381c
mov cl, 0x64
call fcn.00403280
mov eax, 0x503828
call fcn.004c6770
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
add edx, eax
lea eax, [ebp - 0x1564]
call fcn.004032b0
mov edx, 0x50383c
lea eax, [ebp - 0x1564]
mov cl, 0x72
call fcn.00403280
lea edx, [ebp - 0x1564]
lea eax, [ebp - 0x19fc]
call fcn.004054ec
lea eax, [ebp - 0x19fc]
push eax
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x1a00]
call fcn.0040a928
mov edx, dword [ebp - 0x1a00]
pop eax
call fcn.00405550
mov edx, dword [ebp - 0x19fc]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6a18]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
call fcn.0040d300
fstp qword [ebp - 0x78]
wait
lea eax, [ebp - 0xec]
xor ecx, ecx
mov edx, 0x20
call fcn.00403450
lea eax, [ebp - 0x2fc]
xor ecx, ecx
mov edx, 0x210
call fcn.00403450
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 [0x7d7484]
cmp dword [eax], 2
jne 0x50033c
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 0x500362
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0xc0c794]
mov byte [ebp - 0xe3], al
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0xc0c796]
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 + 0xc0c6cc], 0
jne 0x50059d
mov eax, 0x503854
call fcn.004c6770
call fcn.0040d300
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 0x500486
mov eax, 0x50386c
call fcn.004c6770
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 0x5003de
mov eax, dword [ebp + 8]
mov edx, 0x503880
call fcn.004052cc
lea eax, [ebp - 0x1a04]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
lea eax, [ebp - 0x1a04]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405550
mov edx, dword [ebp - 0x1a04]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
jmp 0x50059d
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x1a0c]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x1a0c]
lea eax, [ebp - 0x1a08]
mov edx, 0x50388c
call fcn.00405594
mov eax, dword [ebp - 0x1a08]
call fcn.004c6770
push 0x5038a8
lea edx, [ebp - 0x1a10]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
push dword [ebp - 0x1a10]
push 0x5038b8
mov eax, dword [ebp + 8]
mov edx, 3
call fcn.00405608
lea eax, [ebp - 0x1a14]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
lea eax, [ebp - 0x1a14]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405550
mov edx, dword [ebp - 0x1a14]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
cmp dword [ebp - 0x1c], 0x45d
jne 0x50059d
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
call fcn.004a600c
cmp edx, 0
jne 0x500572
cmp eax, 0x1e
jbe 0x50059d
jmp 0x500574
jle 0x50059d
mov eax, 0x5038c4
call fcn.004c6770
mov eax, dword [ebp - 4]
mov dword [0x7cd5d8], eax
lea eax, [ebp - 0x2ec]
xor ecx, ecx
mov edx, 0x200
call fcn.00403450
jmp 0x500fe7
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004a603c
mov dword [ebp - 0x14], eax
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
add edx, eax
lea eax, [ebp - 0x1a90]
call fcn.004032b0
mov edx, 0x5038d8
lea eax, [ebp - 0x1a90]
mov cl, 0x76
call fcn.00403280
lea edx, [ebp - 0x1a90]
lea eax, [ebp - 0x1a18]
call fcn.004054ec
lea eax, [ebp - 0x1a18]
push eax
lea edx, [ebp - 0x1a94]
mov eax, dword [ebp - 0x14]
call fcn.0040a83c
mov edx, dword [ebp - 0x1a94]
pop eax
call fcn.00405550
mov edx, dword [ebp - 0x1a18]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6a18]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
call fcn.0040d300
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.00403450
lea eax, [ebp - 0x2fc]
xor ecx, ecx
mov edx, 0x210
call fcn.00403450
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 [0x7d7484]
cmp dword [eax], 2
jne 0x5006c9
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 0x5006ef
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0xc0c794]
mov byte [ebp - 0xe3], al
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*2 + 0xc0c796]
mov byte [ebp - 0xe0], al
mov byte [ebp - 0xe2], 0xb0
mov dword [ebp - 0x2fc], 0x210
call fcn.0040d300
fstp qword [ebp - 0x70]
wait
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0x1b24]
call fcn.004032b0
mov edx, 0x5038ec
lea eax, [ebp - 0x1b24]
mov cl, 0x84
call fcn.00403280
lea edx, [ebp - 0x1b24]
lea eax, [ebp - 0x1a9c]
call fcn.004054ec
push dword [ebp - 0x1a9c]
lea edx, [ebp - 0x1b28]
mov eax, dword [ebp - 0x90]
call fcn.0040a83c
push dword [ebp - 0x1b28]
push 0x502ad4
lea eax, [ebp - 0x1a98]
mov edx, 3
call fcn.00405608
mov edx, dword [ebp - 0x1a98]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
lea edx, [ebp - 0x1b30]
mov eax, dword [ebp - 0x90]
call fcn.0040a83c
mov ecx, dword [ebp - 0x1b30]
lea eax, [ebp - 0x1b2c]
mov edx, 0x5038f8
call fcn.00405594
mov eax, dword [ebp - 0x1b2c]
call fcn.004c6770
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 0x50084b
mov eax, 0x503914
call fcn.0049d570
test al, al
je 0x50084b
lea eax, [ebp - 0x2ec]
xor ecx, ecx
mov edx, 0x200
call fcn.00403450
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
mov eax, dword [ebp - 4]
call fcn.0051a4b4
xor eax, eax
mov dword [ebp - 0x1c], eax
cmp byte [ebp - 0x93], 0
jne 0x500903
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x1b38]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
mov ecx, dword [ebp - 0x1b38]
lea eax, [ebp - 0x1b34]
mov edx, 0x503928
call fcn.00405594
mov eax, dword [ebp - 0x1b34]
call fcn.004c6770
cmp dword [ebp - 0x1c], 0x45d
jne 0x500903
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x6c]
push dword [ebp - 0x70]
call fcn.004a600c
cmp edx, 0
jne 0x5008c0
cmp eax, 0x1e
jbe 0x500903
jmp 0x5008c2
jle 0x500903
mov eax, dword [ebp - 4]
mov dword [0x7cd5d8], eax
mov dword [ebp - 0x90], 0x63
lea edx, [ebp - 0x1b40]
mov eax, dword [ebp - 4]
call fcn.0040a83c
mov ecx, dword [ebp - 0x1b40]
lea eax, [ebp - 0x1b3c]
mov edx, 0x50393c
call fcn.00405594
mov eax, dword [ebp - 0x1b3c]
call fcn.004c6770
mov eax, 0x503950
call fcn.0049d570
test al, al
je 0x5009e3
push 0x503964
lea edx, [ebp - 0x1b48]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0x1b48]
push 0x503974
lea edx, [ebp - 0x1b4c]
mov eax, dword [ebp - 0x90]
call fcn.0040a83c
push dword [ebp - 0x1b4c]
lea eax, [ebp - 0x1b44]
mov edx, 4
call fcn.00405608
mov eax, dword [ebp - 0x1b44]
push eax
lea edx, [ebp - 0x1b50]
xor eax, eax
call fcn.004a29b8
mov eax, dword [ebp - 0x1b50]
lea ecx, [ebp - 0xac]
pop edx
call fcn.0049d0c8
cmp byte [ebp - 0x93], 0
jne 0x5009b8
push dword [ebp - 0xac]
push 0x503980
lea edx, [ebp - 0x1b54]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
push dword [ebp - 0x1b54]
lea eax, [ebp - 0xac]
mov edx, 3
call fcn.00405608
lea eax, [ebp - 0xac]
mov edx, 0x50398c
call fcn.00405550
push 0x200
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
mov eax, dword [ebp - 0xac]
call fcn.004a2220
cmp byte [ebp - 0x93], 0
je 0x500a0d
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea eax, [edx + eax]
mov edx, 0x503994
mov cl, 0x82
call fcn.00403280
jmp 0x500aac
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0x1be4]
call fcn.004032b0
mov edx, 0x50399c
lea eax, [ebp - 0x1be4]
mov cl, 0x87
call fcn.00403280
lea edx, [ebp - 0x1be4]
lea eax, [ebp - 0x1b5c]
call fcn.004054ec
push dword [ebp - 0x1b5c]
lea edx, [ebp - 0x1be8]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
push dword [ebp - 0x1be8]
push 0x5038b8
lea eax, [ebp - 0x1b58]
mov edx, 3
call fcn.00405608
mov edx, dword [ebp - 0x1b58]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
cmp byte [ebp - 0x93], 0
je 0x500d6b
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
mov eax, dword [ebp - 4]
call fcn.005a48b8
mov byte [ebp - 0x2f], al
cmp byte [ebp - 0x2f], 0
je 0x500ae4
mov eax, 0x5039ac
call fcn.004c6770
jmp 0x500d6b
mov eax, 0x5039c8
call fcn.004c6770
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea eax, [edx + eax]
mov edx, 0x5039dc
mov cl, 0x82
call fcn.00403280
lea eax, [ebp - 0x2ec]
xor ecx, ecx
mov edx, 0x200
call fcn.00403450
push 0
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
lea edx, [edx + eax*2]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.005b1570
test eax, eax
jle 0x500fe7
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a6c
call fcn.0040d300
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
add edx, eax
lea eax, [ebp - 0xee0]
call fcn.004032b0
mov edx, 0x502e34
lea eax, [ebp - 0xee0]
mov cl, 0x69
call fcn.00403280
lea edx, [ebp - 0xee0]
lea eax, [ebp - 0x1bf0]
call fcn.004054ec
push dword [ebp - 0x1bf0]
lea edx, [ebp - 0x1bf4]
mov eax, dword [ebp - 0x90]
call fcn.0040a83c
push dword [ebp - 0x1bf4]
push 0x502d1c
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x1bf8]
call fcn.0040a928
push dword [ebp - 0x1bf8]
lea eax, [ebp - 0x1bec]
mov edx, 4
call fcn.00405608
mov edx, dword [ebp - 0x1bec]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6a18]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
mov eax, dword [ebp - 0x50]
call fcn.00405548
cmp eax, 0xa
jge 0x500c7b
mov edx, 0x5039e4
lea eax, [ebp - 0x1c90]
call fcn.004032b0
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0x1c90]
mov cl, 0x94
call fcn.00403280
lea edx, [ebp - 0x1c90]
lea eax, [ebp - 0x50]
call fcn.004054ec
mov edx, dword [ebp - 0x50]
mov eax, 0x502e44
call fcn.0040588c
test eax, eax
jne 0x500ca0
push 0
lea eax, [ebp - 0x50]
mov ecx, 0x502e58
mov edx, 0x502e0c
call fcn.0049e218
lea eax, [ebp - 0xa9c]
mov edx, dword [ebp - 0x50]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
mov eax, dword [ebp + 8]
call fcn.00405278
push dword [ebp - 0x50]
push 0x502e1c
lea edx, [ebp - 0x1c98]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0x1c98]
push 0x502d68
mov eax, dword [ebp - 4]
call fcn.005a8144
lea edx, [ebp - 0x1c9c]
call fcn.0040a83c
push dword [ebp - 0x1c9c]
push 0x502e2c
lea eax, [ebp - 0x1ca0]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
push dword [ebp - 0x1ca0]
lea eax, [ebp - 0x1c94]
mov edx, 7
call fcn.00405608
mov eax, dword [ebp - 0x1c94]
call fcn.004c6770
cmp dword [ebp - 0x2c], 0xffffffff
je 0x501ebd
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x501ebd
cmp byte [ebp - 0x93], 0
jne 0x5013a6
cmp dword [ebp + 0xc], 0
jle 0x500f46
mov eax, dword [ebp - 0x90]
cmp eax, dword [ebp + 0xc]
jge 0x500f46
inc dword [ebp - 0x90]
mov eax, dword [0x7d6c64]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_Sleep_1
lea edx, [ebp - 0x1ca8]
mov eax, dword [ebp - 0x90]
call fcn.0040a83c
mov ecx, dword [ebp - 0x1ca8]
lea eax, [ebp - 0x1ca4]
mov edx, 0x503a00
call fcn.00405594
mov eax, dword [ebp - 0x1ca4]
call fcn.004c6770
imul eax, dword [ebp - 4], 0xc9
lea edx, [eax + 0xc01a24]
lea eax, [ebp - 0x1204]
call fcn.004032b0
mov edx, 0x503a0c
lea eax, [ebp - 0x1204]
mov cl, 0xcb
call fcn.00403280
lea edx, [ebp - 0x1204]
lea eax, [ebp - 0x1cb0]
call fcn.004054ec
push dword [ebp - 0x1cb0]
lea edx, [ebp - 0x1cb4]
mov eax, dword [ebp - 0x90]
call fcn.0040a83c
push dword [ebp - 0x1cb4]
push 0x502ad4
lea eax, [ebp - 0x1cac]
mov edx, 3
call fcn.00405608
mov edx, dword [ebp - 0x1cac]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0xc9
add eax, 0xc01a24
mov cl, 0xc8
call fcn.004032bc
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
add edx, eax
lea eax, [ebp - 0x1d34]
call fcn.004032b0
mov edx, 0x503a10
lea eax, [ebp - 0x1d34]
mov cl, 0x77
call fcn.00403280
lea edx, [ebp - 0x1d34]
lea eax, [ebp - 0x1cbc]
call fcn.004054ec
push dword [ebp - 0x1cbc]
lea edx, [ebp - 0x1d38]
mov eax, dword [ebp - 0x90]
call fcn.0040a83c
push dword [ebp - 0x1d38]
push 0x502d1c
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x1d3c]
call fcn.0040a928
push dword [ebp - 0x1d3c]
lea eax, [ebp - 0x1cb8]
mov edx, 4
call fcn.00405608
mov edx, dword [ebp - 0x1cb8]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6a18]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
call fcn.0040d300
fstp qword [ebp - 0x78]
wait
jmp 0x500653
push 0x503a2c
call sub.kernel32.dll_GetLastError_1
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x1d40]
call fcn.0040a928
push dword [ebp - 0x1d40]
push 0x502a50
mov eax, dword [ebp + 8]
mov edx, 3
call fcn.00405608
lea eax, [ebp - 0x1d44]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
lea eax, [ebp - 0x1d44]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405550
mov edx, dword [ebp - 0x1d44]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
lea eax, [ebp - 0x2ec]
xor ecx, ecx
mov edx, 0x200
call fcn.00403450
mov eax, 0x503a3c
call fcn.004c6770
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 0x501108
mov eax, 0x503a54
call fcn.004c6770
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea eax, [edx + eax]
mov edx, 0x503a60
mov cl, 0x82
call fcn.00403280
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 0x501048
lea eax, [ebp - 0xb0]
mov edx, 0x503a70
call fcn.00405310
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov eax, 0x502d00
call fcn.0040588c
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jle 0x5010ba
lea eax, [ebp - 0x1d48]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, 0x32
mov edx, dword [ebp - 0x1c]
call fcn.004057a8
mov edx, dword [ebp - 0x1d48]
lea eax, [ebp - 0xb0]
call fcn.00405550
mov eax, dword [ebp + 8]
call fcn.00405278
cmp dword [ebp - 4], 1
jne 0x5013a6
mov eax, 0x503914
call fcn.0049d570
test al, al
je 0x5013a6
lea eax, [ebp - 0x2ec]
xor ecx, ecx
mov edx, 0x200
call fcn.00403450
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
mov eax, dword [ebp - 4]
call fcn.0051a4b4
jmp 0x5013a6
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x1c], eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0xda0]
call fcn.004032b0
mov edx, 0x503a78
lea eax, [ebp - 0xda0]
mov cl, 0x89
call fcn.00403280
lea edx, [ebp - 0xda0]
lea eax, [ebp - 0x1d50]
call fcn.004054ec
push dword [ebp - 0x1d50]
lea edx, [ebp - 0x1d54]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
push dword [ebp - 0x1d54]
push 0x503a88
lea eax, [ebp - 0x1d4c]
mov edx, 3
call fcn.00405608
mov edx, dword [ebp - 0x1d4c]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
push 0x503a94
lea edx, [ebp - 0x1d5c]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
push dword [ebp - 0x1d5c]
push 0x503a88
lea eax, [ebp - 0x1d58]
mov edx, 3
call fcn.00405608
mov eax, dword [ebp - 0x1d58]
call fcn.004c6770
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
push 0x503aa8
lea edx, [ebp - 0x1d60]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
push dword [ebp - 0x1d60]
push 0x502a50
mov eax, dword [ebp + 8]
mov edx, 3
call fcn.00405608
mov edx, 0x503ab4
lea eax, [ebp - 0x1df4]
call fcn.004032b0
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0x1df4]
mov cl, 0x8d
call fcn.00403280
lea edx, [ebp - 0x1df4]
lea eax, [ebp - 0x1d64]
call fcn.004054ec
lea eax, [ebp - 0x1d64]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
call fcn.00405550
mov edx, dword [ebp - 0x1d64]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
add edx, eax
lea eax, [ebp - 0x1e74]
call fcn.004032b0
mov edx, 0x503ac0
lea eax, [ebp - 0x1e74]
mov cl, 0x79
call fcn.00403280
lea edx, [ebp - 0x1e74]
lea eax, [ebp - 0x1df8]
call fcn.004054ec
lea eax, [ebp - 0x1df8]
push eax
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x1e78]
call fcn.0040a928
mov edx, dword [ebp - 0x1e78]
pop eax
call fcn.00405550
mov edx, dword [ebp - 0x1df8]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6a18]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
lea edi, [edx + eax*2 + 0xc2b]
mov esi, 0x50315c
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 [0x7d6be0]
mov byte [edx + eax*2 + 0xc6d], 0
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
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 [0x7d6594]
mov edx, dword [ebp - 4]
mov byte [eax + edx], 0
mov eax, dword [ebp + 8]
call fcn.00405278
jmp 0x501ebd
imul eax, dword [ebp - 4], 0x65
mov edx, dword [0x7d6a18]
add edx, eax
lea eax, [ebp - 0x1564]
call fcn.004032b0
mov edx, 0x503ad8
lea eax, [ebp - 0x1564]
mov cl, 0x72
call fcn.00403280
lea edx, [ebp - 0x1564]
lea eax, [ebp - 0x1e7c]
call fcn.004054ec
lea eax, [ebp - 0x1e7c]
push eax
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call fcn.004a603c
push edx
push eax
lea eax, [ebp - 0x1e80]
call fcn.0040a928
mov edx, dword [ebp - 0x1e80]
pop eax
call fcn.00405550
mov edx, dword [ebp - 0x1e7c]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x65
mov ecx, dword [0x7d6a18]
lea eax, [ecx + eax]
mov cl, 0x64
call fcn.004032bc
cmp byte [ebp - 0x2d], 0
jne 0x501460
cmp dword [ebp - 0x14], 0xbb8
jle 0x501460
mov eax, dword [ebp - 4]
mov byte [eax + 0xc0c6cc], 1
lea edx, [ebp - 0x2ec]
mov ecx, 0x1ff
mov eax, dword [ebp - 4]
call fcn.005a48b8
test al, al
je 0x5018db
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea eax, [edx + eax]
mov edx, 0x503ae8
mov cl, 0x82
call fcn.00403280
mov dword [ebp - 0x1c], 0x16a
imul eax, dword [ebp - 4], 0x4b
mov edx, dword [0x7d7430]
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 0x50149e
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 4]
call fcn.00581460
lea edx, [ebp - 0x58]
mov eax, dword [ebp - 0x54]
call fcn.00581778
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 0x50158f
lea edx, [ebp - 0x1e84]
mov eax, dword [ebp - 0x54]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1e84]
mov eax, 0x503af8
call fcn.0040588c
test eax, eax
jle 0x50158f
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 4], 0
jne 0x50158f
mov eax, dword [ebp - 0xc8]
mov al, byte [eax + 6]
mov edx, dword [ebp - 0xc8]
cmp al, byte [edx + 4]
jbe 0x50158f
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.00580b2c
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [0x7d66b0]
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.004063ec
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.004063ec
call fcn.004063ec
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.004063ec
call fcn.004063ec
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 0x50170e
cmp dword [ebp - 0x38], 0
jae 0x50171e
jmp 0x501710
jge 0x50171e
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.0040648c
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.0040648c
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.0040648c
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.0040648c
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.0040648c
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.0040648c
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.005ab7fc
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 0x50182c
mov eax, dword [ebp - 0xc8]
lea edi, [eax + 0xd]
mov esi, 0x503b00
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 0x5018bf
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 6], 0xff
jne 0x501851
mov eax, dword [ebp - 0xc8]
lea edi, [eax + 0xd]
mov esi, 0x503b14
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x5018bf
mov eax, dword [ebp - 0xc8]
mov al, byte [eax + 4]
mov edx, dword [ebp - 0xc8]
cmp al, byte [edx + 6]
jbe 0x501878
mov eax, dword [ebp - 0xc8]
lea edi, [eax + 0xd]
mov esi, 0x503b2c
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x5018bf
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x40], 1
mov eax, dword [ebp - 0xc8]
test byte [eax + 2], 1
jne 0x5018a8
mov eax, dword [ebp - 0xc8]
lea edi, [eax + 0xd]
mov esi, 0x503b30
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x5018bf
mov eax, dword [ebp - 0xc8]
lea edi, [eax + 0xd]
mov esi, 0x503b50
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 0x5014e6
mov edx, dword [ebp - 8]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005af3c8
jmp 0x501951
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea eax, [edx + eax]
mov edx, 0x503b7c
mov cl, 0x82
call fcn.00403280
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
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 0x502ad4
lea eax, [ebp - 0x1e88]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
push dword [ebp - 0x1e88]
lea eax, [ebp - 0xb0]
mov edx, 3
call fcn.00405608
mov eax, dword [ebp + 8]
call fcn.00405278
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
mov eax, 0x503b84
call fcn.00402c58
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jle 0x5019d1
push dword [ebp - 0xb0]
push 0x502ad4
lea eax, [ebp - 0x98c]
push eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea eax, [edx + eax]
mov ecx, 0xe
mov edx, dword [ebp - 0x1c]
call fcn.004029ac
lea edx, [ebp - 0x98c]
lea eax, [ebp - 0x1e8c]
call fcn.004054ec
push dword [ebp - 0x1e8c]
lea eax, [ebp - 0xb0]
mov edx, 3
call fcn.00405608
lea eax, [ebp - 0x1e90]
mov ecx, dword [ebp - 0xb0]
mov edx, 0x502a5c
call fcn.00405594
mov edx, dword [ebp - 0x1e90]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
mov eax, dword [ebp - 0x2c]
push eax
call sub.kernel32.dll_CloseHandle_1
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
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 0x501ebd
call sub.kernel32.dll_GetLastError_1
mov dword [ebp - 0x1c], eax
mov eax, 0x5029e8
call fcn.0049d570
test al, al
je 0x501a69
cmp dword [ebp - 4], 0
jne 0x501a69
mov dword [ebp - 0x1c], 5
mov eax, 0x5029e8
call fcn.0049d570
test al, al
je 0x501a88
cmp dword [ebp - 4], 7
jne 0x501a88
mov eax, dword [0x7d6870]
mov dword [eax], 8
cmp byte [0x7cd5d4], 2
jae 0x501a9e
cmp dword [ebp - 4], 1
jne 0x501a9e
mov dword [ebp - 0x1c], 0x20
cmp dword [ebp - 0x1c], 0x20
jne 0x501e2c
mov eax, dword [ebp - 4]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x7d6aec]
cmp byte [edx + eax], 0
jne 0x4fc25a
xor eax, eax
mov al, byte [0x7cd5d4]
cmp eax, dword [ebp - 0x90]
jle 0x501bb2
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
call fcn.004a603c
mov dword [ebp - 0x20], eax
inc dword [ebp - 0x90]
mov eax, dword [0x7d6c64]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_Sleep_1
lea eax, [ebp - 0x1e98]
imul edx, dword [ebp - 4], 0xc9
add edx, 0xc01a24
call fcn.004054ec
push dword [ebp - 0x1e98]
lea edx, [ebp - 0x1e9c]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
push dword [ebp - 0x1e9c]
push 0x503b90
lea edx, [ebp - 0x1ea0]
mov eax, dword [ebp - 0x90]
call fcn.0040a83c
push dword [ebp - 0x1ea0]
push 0x503b9c
lea edx, [ebp - 0x1ea4]
mov eax, dword [ebp - 0x20]
call fcn.0040a83c
push dword [ebp - 0x1ea4]
push 0x502ad4
lea eax, [ebp - 0x1e94]
mov edx, 7
call fcn.00405608
mov edx, dword [ebp - 0x1e94]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0xc9
add eax, 0xc01a24
mov cl, 0xc8
call fcn.004032bc
jmp 0x4fb4ca
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 4]
cmp dword [eax + edx*4], 0
jne 0x501d63
cmp dword [ebp - 0x1c], 0x20
jne 0x501d63
mov eax, dword [ebp - 4]
call fcn.005ac6c0
test al, al
jne 0x501d63
push 0
push 0
push 3
push 0
mov eax, dword [ebp - 0xa8]
push eax
push 0
mov eax, dword [ebp - 0x18]
call fcn.005a8144
lea edx, [ebp - 0x1eac]
call fcn.0040a83c
mov ecx, dword [ebp - 0x1eac]
lea eax, [ebp - 0x1ea8]
mov edx, 0x502a18
call fcn.00405594
mov eax, dword [ebp - 0x1ea8]
call fcn.00405748
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 - 0x1eb4]
call fcn.0040a928
mov ecx, dword [ebp - 0x1eb4]
lea eax, [ebp - 0x1eb0]
mov edx, 0x503ba8
call fcn.00405594
mov eax, dword [ebp - 0x1eb0]
call fcn.004c6770
cmp dword [ebp - 0x2c], 0xffffffff
je 0x501d63
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.005a9b88
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 0x501d59
push 0x503bc0
lea edx, [ebp - 0x1ebc]
xor eax, eax
mov al, byte [ebp - 0x9d]
call fcn.0040a83c
push dword [ebp - 0x1ebc]
push 0x502ad4
lea edx, [ebp - 0x1ec0]
xor eax, eax
mov al, byte [ebp - 0x9e]
call fcn.0040a83c
push dword [ebp - 0x1ec0]
push 0x502ad4
lea edx, [ebp - 0x1ec4]
xor eax, eax
mov al, byte [ebp - 0x9f]
call fcn.0040a83c
push dword [ebp - 0x1ec4]
push 0x502ad4
lea edx, [ebp - 0x1ec8]
xor eax, eax
mov al, byte [ebp - 0xa0]
call fcn.0040a83c
push dword [ebp - 0x1ec8]
lea eax, [ebp - 0x1eb8]
mov edx, 8
call fcn.00405608
mov eax, dword [ebp - 0x1eb8]
call fcn.004c6770
xor eax, eax
mov al, byte [ebp - 0x9d]
add eax, 0xf4240
mov dword [ebp - 0xb4], eax
jmp 0x4fd7f4
mov eax, 0x503bd8
call fcn.004c6770
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 4]
cmp dword [eax + edx*4], 0
jne 0x501dc9
mov dword [ebp - 0x20], 1
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 4]
lea eax, [eax + edx*4]
mov edx, 0x503480
call fcn.00405550
mov eax, dword [0x7d69cc]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x201
jne 0x501d78
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
lea eax, [edx + eax*2]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403450
mov eax, dword [ebp - 8]
xor ecx, ecx
mov edx, 0xca2
call fcn.00403450
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea edi, [edx + eax]
mov esi, 0x503be8
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 + 0xc0b72c], 0
jne 0x4fb02d
push 0
push 0x100000
push 1
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00504d38
call fcn.00406410
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jle 0x4fb02d
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
mov dword [eax*4 + 0xc0b72c], edx
jmp 0x4fb02d
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0xfa8]
call fcn.004032b0
mov edx, 0x503bf0
lea eax, [ebp - 0xfa8]
mov cl, 0x86
call fcn.00403280
lea edx, [ebp - 0xfa8]
lea eax, [ebp - 0x1ecc]
call fcn.004054ec
lea eax, [ebp - 0x1ecc]
push eax
lea edx, [ebp - 0x1ed0]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
mov edx, dword [ebp - 0x1ed0]
pop eax
call fcn.00405550
mov edx, dword [ebp - 0x1ecc]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
cmp dword [ebp - 4], 1
jne 0x501f94
mov eax, 0x503c00
call fcn.0049d570
test al, al
jne 0x501ee2
cmp byte [0x7cd6b4], 0
je 0x501f94
mov edx, dword [ebp - 4]
mov eax, 0x502fb8
call fcn.00519818
lea eax, [ebp - 0x58]
mov edx, dword [0x7d69cc]
mov edx, dword [edx + 4]
call fcn.00405310
lea eax, [ebp - 0x58]
xor edx, edx
call fcn.005a81dc
mov edx, dword [ebp - 0x58]
mov eax, 0x503c14
call fcn.0040588c
test eax, eax
jg 0x501f2c
mov edx, dword [ebp - 0x58]
mov eax, 0x503c28
call fcn.0040588c
test eax, eax
jle 0x501f3c
mov eax, dword [0x7d69cc]
add eax, 4
mov edx, dword [ebp - 0x58]
call fcn.004052cc
mov edx, dword [ebp - 0x58]
mov eax, 0x503c40
call fcn.0040588c
test eax, eax
jle 0x501f5d
mov eax, dword [0x7d69cc]
add eax, 4
mov edx, dword [ebp - 0x58]
call fcn.004052cc
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
lea edx, [edx + eax*2]
mov cl, 1
mov eax, dword [ebp - 4]
call fcn.005af3c8
imul eax, dword [ebp - 4], 0x651
mov edx, dword [0x7d6be0]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov ecx, 0xca2
call fcn.00402a6c
lea edx, [ebp - 0x1ed4]
mov eax, dword [ebp - 4]
call fcn.00580d30
mov eax, dword [ebp - 0x1ed4]
lea edx, [ebp - 0x58]
call fcn.0040a0f8
cmp dword [ebp - 4], 1
jne 0x501fd1
mov eax, 0x503c50
call fcn.0049d570
test al, al
je 0x501fd1
lea eax, [ebp - 0x58]
mov edx, 0x503c60
call fcn.00405310
mov edx, dword [ebp - 0x58]
mov eax, 0x503c7c
call fcn.0040588c
test eax, eax
jle 0x502076
mov edx, dword [ebp - 0x58]
mov eax, 0x503c8c
call fcn.0040588c
test eax, eax
jle 0x502076
mov eax, dword [ebp - 4]
call fcn.00522b44
test eax, eax
jle 0x502076
mov edx, 0x5028fc
lea eax, [ebp - 0x1be4]
call fcn.004032b0
lea eax, [ebp - 0x98c]
push eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea eax, [edx + eax]
mov ecx, 0xfa
mov edx, 6
call fcn.004029ac
lea edx, [ebp - 0x98c]
lea eax, [ebp - 0x1be4]
mov cl, 0x87
call fcn.00403280
lea edx, [ebp - 0x1be4]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
mov eax, dword [ebp + 8]
mov edx, 0x50290c
call fcn.004052cc
cmp dword [ebp - 4], 1
jne 0x502097
mov eax, 0x503c9c
call fcn.0049d570
test al, al
je 0x502097
lea eax, [ebp - 0x58]
mov edx, 0x503cac
call fcn.00405310
mov byte [ebp - 0x30], 0
lea edx, [ebp - 0x1ed8]
mov eax, dword [ebp - 0x58]
call fcn.0040a0f8
mov edx, dword [ebp - 0x1ed8]
mov eax, 0x50329c
call fcn.0040588c
test eax, eax
jle 0x5020e3
mov edx, dword [ebp - 0x58]
mov eax, 0x503ccc
call fcn.0040588c
test eax, eax
jg 0x5020df
mov edx, dword [ebp - 0x58]
mov eax, 0x503cdc
call fcn.0040588c
test eax, eax
jle 0x5020e3
mov byte [ebp - 0x30], 1
mov edx, dword [ebp - 0x58]
mov eax, 0x503cec
call fcn.0040588c
test eax, eax
jle 0x5020f8
mov byte [ebp - 0x30], 1
lea eax, [ebp - 0x1edc]
push eax
mov eax, dword [0x7d69cc]
mov edx, dword [ebp - 4]
mov eax, dword [eax + edx*4]
mov ecx, 4
mov edx, 0x101
call fcn.004057a8
mov eax, dword [ebp - 0x1edc]
mov edx, 0x503cfc
call fcn.00405694
jne 0x50212f
mov byte [ebp - 0x30], 1
cmp byte [ebp - 0x30], 0
je 0x5021b4
mov eax, dword [ebp - 4]
call fcn.005240a4
test eax, eax
jle 0x5021b4
mov edx, 0x5028fc
lea eax, [ebp - 0x1be4]
call fcn.004032b0
lea eax, [ebp - 0x98c]
push eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea eax, [edx + eax]
mov ecx, 0xfa
mov edx, 6
call fcn.004029ac
lea edx, [ebp - 0x98c]
lea eax, [ebp - 0x1be4]
mov cl, 0x87
call fcn.00403280
lea edx, [ebp - 0x1be4]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
mov eax, dword [ebp + 8]
mov edx, 0x50290c
call fcn.004052cc
xor eax, eax
push ebp
push 0x50227e
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
call fcn.004c6954
push edx
push eax
lea eax, [ebp - 0x58]
call fcn.0040a928
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0xfa8]
call fcn.004032b0
mov edx, 0x503d04
lea eax, [ebp - 0xfa8]
mov cl, 0x86
call fcn.00403280
lea edx, [ebp - 0xfa8]
lea eax, [ebp - 0x1ee4]
call fcn.004054ec
push dword [ebp - 0x1ee4]
push dword [ebp - 0x58]
push 0x503d14
lea eax, [ebp - 0x1ee0]
mov edx, 3
call fcn.00405608
mov edx, dword [ebp - 0x1ee0]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x50234f
mov eax, 0x503d40
call fcn.004c6770
mov eax, dword [ebp - 4]
call fcn.004f9870
mov eax, 0x503c00
call fcn.0049d570
test al, al
je 0x502378
mov eax, dword [0x7d6aec]
mov byte [eax + 0x11], 1
lea eax, [ebp - 0x98c]
push eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea eax, [edx + eax]
mov ecx, 4
mov edx, 1
call fcn.004029ac
lea eax, [ebp - 0x98c]
mov edx, 0x5028d4
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040335c
je 0x5023f6
lea eax, [ebp - 0x1f88]
push eax
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
lea eax, [edx + eax]
mov ecx, 4
mov edx, 1
call fcn.004029ac
lea eax, [ebp - 0x1f88]
mov edx, 0x503d48
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.0040335c
jne 0x5025ae
call fcn.0040d300
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 + 0xc0ba54]
mov eax, dword [ebp - 4]
add eax, eax
lea edx, [eax*8 + 0xc0ba4c]
mov eax, dword [ebp - 4]
call fcn.00505678
call fcn.00406410
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jle 0x502447
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
mov dword [eax*4 + 0xc0b72c], edx
call fcn.0040d300
add esp, 0xfffffff8
fstp qword [esp]
wait
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
call fcn.004c6954
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x1388
jl 0x50250d
imul eax, dword [ebp - 4], 0x83
mov edx, dword [0x7d6d40]
add edx, eax
lea eax, [ebp - 0xda0]
call fcn.004032b0
mov edx, 0x503d50
lea eax, [ebp - 0xda0]
mov cl, 0x89
call fcn.00403280
lea edx, [ebp - 0xda0]
lea eax, [ebp - 0x1f90]
call fcn.004054ec
push dword [ebp - 0x1f90]
lea edx, [ebp - 0x1f94]
mov eax, dword [ebp - 0x20]
call fcn.0040a83c
push dword [ebp - 0x1f94]
push 0x503d14
lea eax, [ebp - 0x1f8c]
mov edx, 3
call fcn.00405608
mov edx, dword [ebp - 0x1f8c]
lea eax, [ebp - 0xa9c]
mov ecx, 0xff
call fcn.00405524
lea edx, [ebp - 0xa9c]
imul eax, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea eax, [ecx + eax]
mov cl, 0x82
call fcn.004032bc
xor eax, eax
push ebp
push 0x5025a4
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x503d60
lea edx, [ebp - 0x1f9c]
mov eax, dword [ebp - 0x1c]
call fcn.0040a83c
push dword [ebp - 0x1f9c]
push 0x503d78
mov eax, dword [ebp - 4]
add eax, eax
push dword [eax*8 + 0xc0ba50]
push dword [eax*8 + 0xc0ba4c]
lea eax, [ebp - 0x1fa0]
call fcn.0040a928
push dword [ebp - 0x1fa0]
push 0x503d8c
lea edx, [ebp - 0x1fa4]
mov eax, dword [ebp - 4]
add eax, eax
mov eax, dword [eax*8 + 0xc0ba54]
call fcn.0040a83c
push dword [ebp - 0x1fa4]
lea eax, [ebp - 0x1f98]
mov edx, 6
call fcn.00405608
mov eax, dword [ebp - 0x1f98]
call fcn.004c6770
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5025ae
cmp byte [ebp - 9], 0
je 0x5025d6
call fcn.0040d300
mov eax, dword [0x7d6428]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
call fcn.0040d300
mov eax, dword [0x7d6518]
mov edx, dword [ebp - 4]
fstp qword [eax + edx*8]
wait
push 0x503d9c
lea edx, [ebp - 0x1fac]
mov eax, dword [ebp - 4]
call fcn.0040a83c
push dword [ebp - 0x1fac]
push 0x503dac
mov eax, dword [ebp + 8]
push dword [eax]
push 0x503dbc
lea eax, [ebp - 0x1fb0]
imul edx, dword [ebp - 4], 0x83
mov ecx, dword [0x7d6d40]
lea edx, [ecx + edx]
call fcn.004054ec
push dword [ebp - 0x1fb0]
lea eax, [ebp - 0x1fa8]
mov edx, 6
call fcn.00405608
mov eax, dword [ebp - 0x1fa8]
call fcn.004c6770
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5028a2
lea eax, [ebp - 0x1fb0]
mov edx, 0xa
call fcn.0040529c
lea eax, [ebp - 0x1f04]
call fcn.00405278
lea eax, [ebp - 0x1eec]
mov edx, 0x1e
call fcn.0040529c
lea eax, [ebp - 0x1df8]
call fcn.00405278
lea eax, [ebp - 0x1d64]
mov edx, 0xc
call fcn.0040529c
lea eax, [ebp - 0x1cbc]
mov edx, 0xb
call fcn.0040529c
lea eax, [ebp - 0x1bf8]
mov edx, 5
call fcn.0040529c
lea eax, [ebp - 0x1b5c]
mov edx, 0xe
call fcn.0040529c
lea eax, [ebp - 0x1a9c]
mov edx, 3
call fcn.0040529c
lea eax, [ebp - 0x1a18]
mov edx, 0xd
call fcn.0040529c
lea eax, [ebp - 0x19e4]
mov edx, 0x15
call fcn.0040529c
lea eax, [ebp - 0x1904]
mov edx, 0x2a
call fcn.0040529c
lea eax, [ebp - 0x1724]
mov edx, 0x10
call fcn.0040529c
lea eax, [ebp - 0x1674]
mov edx, 2
call fcn.0040529c
lea eax, [ebp - 0x1600]
mov edx, 2
call fcn.0040529c
lea eax, [ebp - 0x156c]
mov edx, 2
call fcn.0040529c
lea eax, [ebp - 0x14f0]
mov edx, 2
call fcn.0040529c
lea eax, [ebp - 0x1480]
mov edx, 6
call fcn.0040529c
lea eax, [ebp - 0x1390]
call fcn.00405278
lea eax, [ebp - 0x1324]
mov edx, 4
call fcn.0040529c
lea eax, [ebp - 0x12a4]
call fcn.00405278
lea eax, [ebp - 0x129c]
call fcn.00405278
lea eax, [ebp - 0x12a0]
call fcn.00405278
lea eax, [ebp - 0x1208]
call fcn.00405278
lea eax, [ebp - 0x1138]
mov edx, 4
call fcn.0040529c
lea eax, [ebp - 0x10bc]
mov edx, 0x20
call fcn.0040529c
lea eax, [ebp - 0xfb4]
mov edx, 3
call fcn.0040529c
lea eax, [ebp - 0xf20]
mov edx, 0x10
call fcn.0040529c
lea eax, [ebp - 0xe74]
mov edx, 0xb
call fcn.0040529c
lea eax, [ebp - 0xdb4]
mov edx, 5
call fcn.0040529c
lea eax, [ebp - 0xd14]
mov edx, 2
call fcn.0040529c
lea eax, [ebp - 0xc9c]
mov edx, 2
call fcn.0040529c
lea eax, [ebp - 0xb94]
mov edx, 0x16
call fcn.0040529c
lea eax, [ebp - 0xb38]
call fcn.00405278
lea eax, [ebp - 0xb3c]
call fcn.00405278
lea eax, [ebp - 0xb34]
mov edx, 0x26
call fcn.0040529c
lea eax, [ebp - 0x99c]
mov edx, 4
call fcn.0040529c
lea eax, [ebp - 0x908]
mov edx, 2
call fcn.0040529c
lea eax, [ebp - 0xb0]
mov edx, 2
call fcn.0040529c
lea eax, [ebp - 0x64]
mov edx, 0xb
call fcn.0040529c
ret