Function at 0x516644
Capabilities:
Get disk information
Query environment variable

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x71
push 0
push 0
dec ecx
jne 0x51664c
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x110], edx
mov edi, eax
mov eax, dword [ebp - 0x110]
call fcn.00404de4
lea eax, [ebp - 0x2a4]
mov edx, dword [0x4080ec]
call fcn.00405354
xor eax, eax
push ebp
push 0x517667
push dword fs:[eax]
mov dword fs:[eax], esp
xor esi, esi
xor eax, eax
mov dword [ebp - 0x118], eax
mov byte [ebp - 0x149], 0
xor eax, eax
mov dword [ebp - 0x11c], eax
xor eax, eax
mov dword [ebp - 0x120], eax
xor eax, eax
mov dword [ebp - 0x124], eax
xor eax, eax
mov dword [ebp - 0x128], eax
xor eax, eax
mov dword [ebp - 0x12c], eax
xor eax, eax
mov dword [ebp - 0x130], eax
xor eax, eax
mov dword [ebp - 0x134], eax
xor eax, eax
mov dword [ebp - 0x138], eax
xor eax, eax
mov dword [ebp - 0x13c], eax
xor eax, eax
mov dword [ebp - 0x140], eax
xor eax, eax
mov dword [ebp - 0x144], eax
xor eax, eax
mov dword [ebp - 0x148], eax
lea eax, [ebp - 0x114]
mov edx, dword [ebp - 0x110]
call fcn.004049dc
jmp 0x51672f
mov edx, dword [ebp - 0x114]
mov eax, 0x517680
call fcn.00404f38
mov edx, eax
lea eax, [ebp - 0x114]
mov ecx, 1
call fcn.00404e94
mov edx, dword [ebp - 0x114]
mov eax, 0x517680
call fcn.00404f38
test eax, eax
jne 0x51670d
jmp 0x516767
mov edx, dword [ebp - 0x114]
mov eax, 0x51768c
call fcn.00404f38
mov edx, eax
lea eax, [ebp - 0x114]
mov ecx, 1
call fcn.00404e94
mov edx, dword [ebp - 0x114]
mov eax, 0x51768c
call fcn.00404f38
test eax, eax
jne 0x516745
jmp 0x5167f7
lea eax, [ebp - 0x2a8]
push eax
mov eax, dword [ebp - 0x114]
call fcn.00404bfc
mov ecx, eax
mov edx, 2
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov edx, dword [ebp - 0x2a8]
mov eax, 0x517698
call fcn.00404f38
mov ebx, eax
test ebx, ebx
jne 0x5167dd
lea eax, [ebp - 0x114]
push eax
mov eax, dword [ebp - 0x114]
call fcn.00404bfc
mov ecx, eax
mov edx, 2
mov eax, dword [ebp - 0x114]
call fcn.00404e54
jmp 0x5167f7
lea eax, [ebp - 0x114]
push eax
mov ecx, ebx
dec ecx
mov edx, 2
mov eax, dword [ebp - 0x114]
call fcn.00404e54
lea eax, [ebp - 0x2ac]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2ac]
mov edx, 0x517698
call fcn.00404d40
je 0x51677d
jmp 0x516840
lea eax, [ebp - 0x114]
mov ecx, 1
mov edx, 1
call fcn.00404e94
mov edx, dword [ebp - 0x114]
mov eax, 0x5176a4
call fcn.00404f38
dec eax
je 0x51682b
mov edx, dword [ebp - 0x114]
mov eax, 0x5176b0
call fcn.00404f38
dec eax
jne 0x516881
mov edx, dword [ebp - 0x114]
mov eax, 0x5176bc
call fcn.00404f38
test eax, eax
jne 0x516881
mov bl, 1
jmp 0x517628
push 0x104
lea eax, [ebp - 0x105]
push eax
mov eax, dword [ebp - 0x114]
call fcn.00404df4
push eax
call sub.kernel32.dll_ExpandEnvironmentStringsA
mov ebx, eax
test ebx, ebx
je 0x5168bd
cmp ebx, 0x104
jge 0x5168bd
lea edx, [ebp - 0x114]
lea eax, [ebp - 0x105]
call fcn.00409e70
lea eax, [ebp - 0x2b0]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2b0]
mov edx, 0x5176c8
call fcn.00404d40
jne 0x5168f2
mov bl, 1
jmp 0x517628
xor ebx, ebx
lea eax, [ebp - 0x2b4]
push eax
mov eax, dword [ebp - 0x114]
call fcn.00404bfc
mov ecx, eax
mov edx, 3
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2b4]
push eax
push 3
mov ecx, 0x5176d4
mov edx, ebx
mov eax, edi
call fcn.005179c0
mov ebx, eax
lea eax, [ebp - 0x2b8]
push eax
mov eax, dword [ebp - 0x114]
call fcn.00404bfc
mov ecx, eax
mov edx, 3
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2b8]
push eax
push 3
mov ecx, 0x5176e0
mov edx, ebx
mov eax, edi
call fcn.005179c0
mov ebx, eax
mov eax, dword [ebp - 0x114]
push eax
push 1
mov ecx, 0x5176ec
mov edx, ebx
mov eax, edi
call fcn.005179c0
mov ebx, eax
mov eax, dword [ebp - 0x114]
push eax
push 1
mov ecx, 0x5176f8
mov edx, ebx
mov eax, edi
call fcn.005179c0
mov ebx, eax
lea eax, [ebp - 0x2bc]
push eax
mov eax, dword [ebp - 0x114]
call fcn.00404bfc
mov ecx, eax
mov edx, 2
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2bc]
push eax
push 2
mov ecx, 0x517698
mov edx, ebx
mov eax, edi
call fcn.005179c0
mov ebx, eax
mov eax, dword [ebp - 0x114]
push eax
push 1
mov ecx, 0x517704
mov edx, ebx
mov eax, edi
call fcn.005179c0
mov ebx, eax
mov eax, dword [ebp - 0x114]
push eax
push 1
mov ecx, 0x517710
mov edx, ebx
mov eax, edi
call fcn.005179c0
mov ebx, eax
mov eax, dword [ebp - 0x114]
push eax
push 1
mov ecx, 0x51771c
mov edx, ebx
mov eax, edi
call fcn.005179c0
mov ebx, eax
test ebx, ebx
je 0x516a46
lea eax, [ebp - 0x114]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
cmp dword [ebp - 0x114], 0
jne 0x516a56
xor ebx, ebx
jmp 0x517628
lea eax, [ebp - 0x2c0]
push eax
mov eax, dword [ebp - 0x114]
call fcn.00404bfc
mov edx, eax
mov ecx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2c0]
mov edx, 0x5176b0
call fcn.00404d40
jne 0x516add
lea eax, [ebp - 0x114]
push eax
mov eax, dword [ebp - 0x114]
call fcn.00404bfc
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x114]
call fcn.00409528
test al, al
je 0x516ac7
mov bl, 1
jmp 0x517628
mov eax, dword [ebp - 0x114]
call fcn.00487798
test al, al
jne 0x516add
xor ebx, ebx
jmp 0x517628
lea eax, [ebp - 0x2c4]
push eax
mov ecx, 2
mov edx, 2
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2c4]
mov edx, 0x5176bc
call fcn.00404d40
jne 0x516be2
lea eax, [ebp - 0x2c8]
push eax
mov ecx, 3
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2c8]
call fcn.00404df4
push eax
call sub.kernel32.dll_GetDriveTypeA
cmp eax, 2
je 0x516bdb
lea eax, [ebp - 0x2cc]
push eax
mov ecx, 3
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2cc]
call fcn.00404df4
push eax
call sub.kernel32.dll_GetDriveTypeA
cmp eax, 4
je 0x516bdb
lea eax, [ebp - 0x2d0]
push eax
mov ecx, 3
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2d0]
call fcn.00404df4
push eax
call sub.kernel32.dll_GetDriveTypeA
cmp eax, 5
je 0x516bdb
lea eax, [ebp - 0x2d4]
push eax
mov ecx, 3
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2d4]
call fcn.00404df4
push eax
call sub.kernel32.dll_GetDriveTypeA
cmp eax, 6
jne 0x516be2
xor ebx, ebx
jmp 0x517628
push ebp
mov eax, dword [ebp - 0x114]
call fcn.00516440
pop ecx
test al, al
je 0x516bfa
mov bl, 1
jmp 0x517628
lea eax, [ebp - 0x2d8]
mov ecx, 0x517728
mov edx, dword [ebp - 0x114]
call fcn.00404c48
mov eax, dword [ebp - 0x2d8]
lea ecx, [ebp - 0x2a4]
mov edx, 0x3f
call fcn.00409738
test eax, eax
jne 0x516c3c
mov bl, 1
lea eax, [ebp - 0x2a4]
call fcn.004097ac
jmp 0x517628
lea eax, [ebp - 0x2a4]
call fcn.004097ac
mov eax, dword [ebp - 0x114]
call fcn.00404bfc
mov ebx, eax
cmp ebx, 0
jl 0x517626
lea eax, [ebp - 0x2dc]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2dc]
mov edx, 0x517734
call fcn.00404d40
je 0x516cbf
lea eax, [ebp - 0x2e0]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2e0]
mov edx, 0x5176b0
call fcn.00404d40
je 0x516cbf
test ebx, ebx
je 0x516cbf
test esi, esi
je 0x517353
test esi, esi
je 0x516d27
lea eax, [ebp - 0x2e4]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2e4]
mov edx, 0x5176b0
call fcn.00404d40
jne 0x516cf5
lea eax, [ebx + 1]
cmp esi, eax
je 0x516d27
push ebp
lea eax, [ebp - 0x2e8]
push eax
mov ecx, esi
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2e8]
call fcn.00516440
pop ecx
test al, al
je 0x516d27
mov bl, 1
jmp 0x517628
cmp dword [ebp - 0x118], 0
je 0x516d9c
lea eax, [ebp - 0x2ec]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2ec]
mov edx, 0x5176b0
call fcn.00404d40
jne 0x516d66
lea eax, [ebx + 1]
cmp eax, dword [ebp - 0x118]
je 0x516d9c
push ebp
lea eax, [ebp - 0x2f0]
push eax
mov ecx, dword [ebp - 0x118]
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2f0]
call fcn.00516440
pop ecx
test al, al
je 0x516d9c
mov bl, 1
jmp 0x517628
cmp dword [ebp - 0x11c], 0
je 0x516e11
lea eax, [ebp - 0x2f4]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2f4]
mov edx, 0x5176b0
call fcn.00404d40
jne 0x516ddb
lea eax, [ebx + 1]
cmp eax, dword [ebp - 0x11c]
je 0x516e11
push ebp
lea eax, [ebp - 0x2f8]
push eax
mov ecx, dword [ebp - 0x11c]
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2f8]
call fcn.00516440
pop ecx
test al, al
je 0x516e11
mov bl, 1
jmp 0x517628
cmp dword [ebp - 0x120], 0
je 0x516e86
lea eax, [ebp - 0x2fc]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x2fc]
mov edx, 0x5176b0
call fcn.00404d40
jne 0x516e50
lea eax, [ebx + 1]
cmp eax, dword [ebp - 0x120]
je 0x516e86
push ebp
lea eax, [ebp - 0x300]
push eax
mov ecx, dword [ebp - 0x120]
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x300]
call fcn.00516440
pop ecx
test al, al
je 0x516e86
mov bl, 1
jmp 0x517628
cmp dword [ebp - 0x124], 0
je 0x516efb
lea eax, [ebp - 0x304]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x304]
mov edx, 0x5176b0
call fcn.00404d40
jne 0x516ec5
lea eax, [ebx + 1]
cmp eax, dword [ebp - 0x124]
je 0x516efb
push ebp
lea eax, [ebp - 0x308]
push eax
mov ecx, dword [ebp - 0x124]
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x308]
call fcn.00516440
pop ecx
test al, al
je 0x516efb
mov bl, 1
jmp 0x517628
cmp dword [ebp - 0x128], 0
je 0x516f70
lea eax, [ebp - 0x30c]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x30c]
mov edx, 0x5176b0
call fcn.00404d40
jne 0x516f3a
lea eax, [ebx + 1]
cmp eax, dword [ebp - 0x128]
je 0x516f70
push ebp
lea eax, [ebp - 0x310]
push eax
mov ecx, dword [ebp - 0x128]
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x310]
call fcn.00516440
pop ecx
test al, al
je 0x516f70
mov bl, 1
jmp 0x517628
cmp dword [ebp - 0x12c], 0
je 0x516fe5
lea eax, [ebp - 0x314]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x314]
mov edx, 0x5176b0
call fcn.00404d40
jne 0x516faf
lea eax, [ebx + 1]
cmp eax, dword [ebp - 0x12c]
je 0x516fe5
push ebp
lea eax, [ebp - 0x318]
push eax
mov ecx, dword [ebp - 0x12c]
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x318]
call fcn.00516440
pop ecx
test al, al
je 0x516fe5
mov bl, 1
jmp 0x517628
cmp dword [ebp - 0x130], 0
je 0x51705a
lea eax, [ebp - 0x31c]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x31c]
mov edx, 0x5176b0
call fcn.00404d40
jne 0x517024
lea eax, [ebx + 1]
cmp eax, dword [ebp - 0x130]
je 0x51705a
push ebp
lea eax, [ebp - 0x320]
push eax
mov ecx, dword [ebp - 0x130]
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x320]
call fcn.00516440
pop ecx
test al, al
je 0x51705a
mov bl, 1
jmp 0x517628
cmp dword [ebp - 0x134], 0
je 0x5170cf
lea eax, [ebp - 0x324]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x324]
mov edx, 0x5176b0
call fcn.00404d40
jne 0x517099
lea eax, [ebx + 1]
cmp eax, dword [ebp - 0x134]
je 0x5170cf
push ebp
lea eax, [ebp - 0x328]
push eax
mov ecx, dword [ebp - 0x134]
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x328]
call fcn.00516440
pop ecx
test al, al
je 0x5170cf
mov bl, 1
jmp 0x517628
cmp dword [ebp - 0x138], 0
je 0x517144
lea eax, [ebp - 0x32c]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x32c]
mov edx, 0x5176b0
call fcn.00404d40
jne 0x51710e
lea eax, [ebx + 1]
cmp eax, dword [ebp - 0x138]
je 0x517144
push ebp
lea eax, [ebp - 0x330]
push eax
mov ecx, dword [ebp - 0x138]
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x330]
call fcn.00516440
pop ecx
test al, al
je 0x517144
mov bl, 1
jmp 0x517628
cmp dword [ebp - 0x13c], 0
je 0x5171b9
lea eax, [ebp - 0x334]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x334]
mov edx, 0x5176b0
call fcn.00404d40
jne 0x517183
lea eax, [ebx + 1]
cmp eax, dword [ebp - 0x13c]
je 0x5171b9
push ebp
lea eax, [ebp - 0x338]
push eax
mov ecx, dword [ebp - 0x13c]
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x338]
call fcn.00516440
pop ecx
test al, al
je 0x5171b9
mov bl, 1
jmp 0x517628
cmp dword [ebp - 0x140], 0
je 0x51722e
lea eax, [ebp - 0x33c]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x33c]
mov edx, 0x5176b0
call fcn.00404d40
jne 0x5171f8
lea eax, [ebx + 1]
cmp eax, dword [ebp - 0x140]
je 0x51722e
push ebp
lea eax, [ebp - 0x340]
push eax
mov ecx, dword [ebp - 0x140]
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x340]
call fcn.00516440
pop ecx
test al, al
je 0x51722e
mov bl, 1
jmp 0x517628
cmp dword [ebp - 0x144], 0
je 0x5172a3
lea eax, [ebp - 0x344]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x344]
mov edx, 0x5176b0
call fcn.00404d40
jne 0x51726d
lea eax, [ebx + 1]
cmp eax, dword [ebp - 0x144]
je 0x5172a3
push ebp
lea eax, [ebp - 0x348]
push eax
mov ecx, dword [ebp - 0x144]
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x348]
call fcn.00516440
pop ecx
test al, al
je 0x5172a3
mov bl, 1
jmp 0x517628
cmp dword [ebp - 0x148], 0
je 0x517316
lea eax, [ebp - 0x34c]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x34c]
mov edx, 0x5176b0
call fcn.00404d40
jne 0x5172e2
lea eax, [ebx + 1]
cmp eax, dword [ebp - 0x148]
je 0x517316
lea eax, [ebp - 0x350]
push eax
mov ecx, dword [ebp - 0x148]
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x350]
call fcn.004ef7d4
test al, al
je 0x517316
mov bl, 1
jmp 0x517628
lea eax, [ebp - 0x354]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x354]
mov edx, 0x5176b0
call fcn.00404d40
jne 0x517351
cmp byte [ebp - 0x149], 1
jne 0x517351
xor ebx, ebx
jmp 0x517628
xor esi, esi
lea eax, [ebp - 0x358]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x358]
mov edx, 0x517740
call fcn.00404d40
jne 0x517380
mov esi, ebx
lea eax, [ebp - 0x35c]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x35c]
mov edx, 0x51774c
call fcn.00404d40
jne 0x5173b1
mov dword [ebp - 0x118], ebx
lea eax, [ebp - 0x360]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x360]
mov edx, 0x517758
call fcn.00404d40
jne 0x5173e2
mov dword [ebp - 0x11c], ebx
lea eax, [ebp - 0x364]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x364]
mov edx, 0x517764
call fcn.00404d40
jne 0x517413
mov dword [ebp - 0x120], ebx
lea eax, [ebp - 0x368]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x368]
mov edx, 0x517770
call fcn.00404d40
jne 0x517444
mov dword [ebp - 0x124], ebx
lea eax, [ebp - 0x36c]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x36c]
mov edx, 0x5176c8
call fcn.00404d40
jne 0x517475
mov dword [ebp - 0x128], ebx
lea eax, [ebp - 0x370]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x370]
mov edx, 0x51777c
call fcn.00404d40
jne 0x5174a6
mov dword [ebp - 0x12c], ebx
lea eax, [ebp - 0x374]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x374]
mov edx, 0x517788
call fcn.00404d40
jne 0x5174d7
mov dword [ebp - 0x130], ebx
lea eax, [ebp - 0x378]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x378]
mov edx, 0x517794
call fcn.00404d40
jne 0x517508
mov dword [ebp - 0x134], ebx
lea eax, [ebp - 0x37c]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x37c]
mov edx, 0x5177a0
call fcn.00404d40
jne 0x517539
mov dword [ebp - 0x138], ebx
lea eax, [ebp - 0x380]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x380]
mov edx, 0x5176a4
call fcn.00404d40
jne 0x51756a
mov dword [ebp - 0x13c], ebx
lea eax, [ebp - 0x384]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x384]
mov edx, 0x5177ac
call fcn.00404d40
jne 0x51759b
mov dword [ebp - 0x140], ebx
lea eax, [ebp - 0x388]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x388]
mov edx, 0x5177b8
call fcn.00404d40
jne 0x5175cc
mov dword [ebp - 0x144], ebx
lea eax, [ebp - 0x38c]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x114]
call fcn.00404e54
mov eax, dword [ebp - 0x38c]
mov edx, 0x5176b0
call fcn.00404d40
jne 0x5175fd
mov dword [ebp - 0x148], ebx
test ebx, ebx
jle 0x51761c
mov eax, dword [ebp - 0x114]
mov al, byte [eax + ebx - 1]
add al, 0xd0
sub al, 0xa
jb 0x51761c
sub al, 0x22
je 0x51761c
mov byte [ebp - 0x149], 1
dec ebx
cmp ebx, 0xffffffff
jne 0x516c5d
xor ebx, ebx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51766e
lea eax, [ebp - 0x38c]
mov edx, 0x3a
call fcn.00404968
lea eax, [ebp - 0x2a4]
mov edx, dword [0x4080ec]
call fcn.00405424
lea eax, [ebp - 0x114]
mov edx, 2
call fcn.00404968
ret