Function at 0x45db74
Capabilities:
Accept command line arguments
Get common file path
Get session user name

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x72
push 0
push 0
dec ecx
jne 0x45db7c
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x45ecb4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x150], 0
jne 0x45dbcf
mov dl, 1
mov eax, dword [0x442270]
call fcn.0044c3d0
mov ebx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x1c]
add eax, 0x150
mov edx, ebx
test edx, edx
je 0x45dbca
sub edx, 0xffffffc0
call fcn.0040a754
mov eax, esi
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
call fcn.0040a754
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x174], 0
je 0x45ec06
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x150]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x45ec06
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
call fcn.0040a754
lea eax, [ebp - 0x290]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
mov ecx, 0x45ecc8
call fcn.0040a780
mov eax, dword [ebp - 0x290]
mov edx, dword [eax]
call dword [edx + 0x18]
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x45dd91
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x298]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1d4]
mov cl, 0x30
mov edx, 4
call fcn.0041187c
push dword [ebp - 0x298]
push 0x45ece4
lea eax, [ebp - 0x29c]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1d6]
mov cl, 0x30
mov edx, 2
call fcn.0041187c
push dword [ebp - 0x29c]
push 0x45ece4
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1da]
mov cl, 0x30
mov edx, 2
call fcn.0041187c
push dword [ebp - 0x2a0]
push 0x45ecf4
lea eax, [ebp - 0x2a4]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1dc]
mov cl, 0x30
mov edx, 2
call fcn.0041187c
push dword [ebp - 0x2a4]
push 0x45ed04
lea eax, [ebp - 0x2a8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1de]
mov cl, 0x30
mov edx, 2
call fcn.0041187c
push dword [ebp - 0x2a8]
push 0x45ed04
lea eax, [ebp - 0x2ac]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1e0]
mov cl, 0x30
mov edx, 2
call fcn.0041187c
push dword [ebp - 0x2ac]
push 0x45ecf4
lea eax, [ebp - 0x2b0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1e2]
mov cl, 0x30
mov edx, 1
call fcn.0041187c
push dword [ebp - 0x2b0]
push 0x45ed14
lea eax, [ebp - 0x294]
mov edx, 0xe
call fcn.00406dac
mov edx, dword [ebp - 0x294]
mov eax, 0x45ed24
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45dd9b
xor eax, eax
push ebp
push 0x45ddd0
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2b4]
call fcn.004384b4
mov edx, dword [ebp - 0x2b4]
mov eax, 0x45ed3c
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ddda
xor eax, eax
push ebp
push 0x45de0f
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2b8]
call fcn.0045c738
mov edx, dword [ebp - 0x2b8]
mov eax, 0x45ed58
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45de19
xor eax, eax
push ebp
push 0x45de82
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x20], 0x104
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x139]
push eax
call sub.advapi32.dll_GetUserNameA
lea eax, [ebp - 0x10]
lea edx, [ebp - 0x139]
mov ecx, 0x105
push 0
call fcn.00406b64
call fcn.0045c678
test al, al
je 0x45de69
lea eax, [ebp - 0x10]
mov edx, 0x45ed74
call fcn.00406bf4
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x45ed8c
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45de8c
xor eax, eax
push ebp
push 0x45df71
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
jne 0x45deb5
lea eax, [ebp - 0x10]
mov edx, 0x45eda4
call fcn.004068ac
jmp 0x45debd
lea eax, [ebp - 0x10]
call fcn.004067fc
lea eax, [ebp - 0x14]
push eax
push 0x45edb4
push dword [ebp - 0x10]
push 0x45eddc
lea eax, [ebp - 0x2bc]
mov edx, 3
call fcn.00406dac
mov edx, dword [ebp - 0x2bc]
mov ecx, 0x45edf8
mov eax, 0x80000002
call fcn.004384ec
lea eax, [ebp - 0x2c0]
push eax
push 0x45edb4
push dword [ebp - 0x10]
push 0x45eddc
lea eax, [ebp - 0x2c4]
mov edx, 3
call fcn.00406dac
mov edx, dword [ebp - 0x2c4]
mov ecx, 0x45ee1c
mov eax, 0x80000002
call fcn.004384ec
mov edx, dword [ebp - 0x2c0]
lea eax, [ebp - 0x10]
call fcn.004068ac
cmp dword [ebp - 0x14], 0
je 0x45df58
push dword [ebp - 0x10]
push 0x45ee38
push dword [ebp - 0x14]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00406dac
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x45ee48
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45df7b
xor eax, eax
push ebp
push 0x45dfb0
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2c8]
call fcn.0045cab8
mov edx, dword [ebp - 0x2c8]
mov eax, 0x45ee68
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45dfba
xor eax, eax
push ebp
push 0x45dfef
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2cc]
call fcn.0045cb68
mov edx, dword [ebp - 0x2cc]
mov eax, 0x45ee88
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45dff9
xor eax, eax
push ebp
push 0x45e02e
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2d0]
call fcn.0045cbb0
mov edx, dword [ebp - 0x2d0]
mov eax, 0x45eea4
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e038
xor eax, eax
push ebp
push 0x45e06d
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2d4]
call fcn.0045cc08
mov edx, dword [ebp - 0x2d4]
mov eax, 0x45eec0
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e077
xor eax, eax
push ebp
push 0x45e102
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
call fcn.0045cd0c
cmp dword [ebp - 0x10], 0
je 0x45e0f8
call fcn.0045cdbc
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jne 0x45e0b2
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x45eedc
call fcn.0045da8c
pop ecx
jmp 0x45e0f8
push ebp
lea eax, [ebp - 0x2dc]
push eax
mov cl, 0x30
mov edx, 1
mov eax, dword [ebp - 0x2c]
call fcn.00411760
push dword [ebp - 0x2dc]
push 0x45eef4
push dword [ebp - 0x10]
lea eax, [ebp - 0x2d8]
mov edx, 3
call fcn.00406dac
mov edx, dword [ebp - 0x2d8]
mov eax, 0x45ef04
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e10c
xor eax, eax
push ebp
push 0x45e141
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2e0]
call fcn.0045ceb0
mov edx, dword [ebp - 0x2e0]
mov eax, 0x45ef1c
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e14b
lea eax, [ebp - 0x300]
call fcn.0041a894
cmp byte [ebp - 0x2f0], 0
je 0x45e19e
xor eax, eax
push ebp
push 0x45e194
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x304]
call fcn.0045d030
mov edx, dword [ebp - 0x304]
mov eax, 0x45ef38
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e19e
xor eax, eax
push ebp
push 0x45e296
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x45ef4c
push 0x45ef74
call sub.kernel32.dll_GetModuleHandleW_2
push eax
call fcn.0040cca4
mov dword [ebp - 8], eax
push 0x104
lea eax, [ebp - 0x139]
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.00437dc0
lea eax, [ebp - 0x10]
xor edx, edx
call fcn.00406a28
movzx eax, byte [eax]
call fcn.0040ff1c
mov ebx, eax
movzx eax, byte [ebp - 0x139]
call fcn.0040ff1c
cmp bl, al
je 0x45e266
push ebp
push ebp
lea edx, [ebp - 0x30c]
movzx eax, byte [ebp - 0x139]
call fcn.0045d914
pop ecx
push dword [ebp - 0x30c]
push 0x45ef9c
push ebp
lea eax, [ebp - 0x10]
xor edx, edx
call fcn.00406a28
movzx eax, byte [eax]
lea edx, [ebp - 0x310]
call fcn.0045d914
pop ecx
push dword [ebp - 0x310]
lea eax, [ebp - 0x308]
mov edx, 3
call fcn.00406dac
mov edx, dword [ebp - 0x308]
mov eax, 0x45efac
call fcn.0045da8c
pop ecx
jmp 0x45e28c
push ebp
push ebp
lea edx, [ebp - 0x314]
movzx eax, byte [ebp - 0x139]
call fcn.0045d914
pop ecx
mov edx, dword [ebp - 0x314]
mov eax, 0x45efac
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e2a0
xor eax, eax
push ebp
push 0x45e2d5
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x318]
call fcn.0045d0ec
mov edx, dword [ebp - 0x318]
mov eax, 0x45efc8
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e2df
xor eax, eax
push ebp
push 0x45e321
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x31c]
push eax
call sub.kernel32.dll_GetCurrentProcessId
mov cl, 0x30
mov edx, 1
call fcn.00411928
mov edx, dword [ebp - 0x31c]
mov eax, 0x45efe4
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e32b
xor eax, eax
push ebp
push 0x45e360
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x320]
call fcn.0045d2c8
mov edx, dword [ebp - 0x320]
mov eax, 0x45effc
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e36a
xor eax, eax
push ebp
push 0x45e3bd
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x61c65c], 0
je 0x45e3b3
call fcn.0040461c
test eax, eax
jle 0x45e3b3
push ebp
call sub.kernel32.dll_GetCommandLineA
mov edx, eax
lea eax, [ebp - 0x324]
mov ecx, 0
call fcn.00406ae0
mov edx, dword [ebp - 0x324]
mov eax, 0x45f01c
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e3c7
xor eax, eax
push ebp
push 0x45e40f
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea edx, [ebp - 0x32c]
xor eax, eax
call fcn.00437dc0
mov eax, dword [ebp - 0x32c]
lea edx, [ebp - 0x328]
call fcn.00437df4
mov edx, dword [ebp - 0x328]
mov eax, 0x45f038
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e419
xor eax, eax
push ebp
push 0x45e473
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.kernel32.dll_GetModuleHandleW_2
cmp eax, dword [0x62ec40]
je 0x45e469
push ebp
lea edx, [ebp - 0x334]
mov eax, dword [0x62ec40]
call fcn.00437dc0
mov eax, dword [ebp - 0x334]
lea edx, [ebp - 0x330]
call fcn.00437df4
mov edx, dword [ebp - 0x330]
mov eax, 0x45f050
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e47d
xor eax, eax
push ebp
push 0x45e6c0
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x61c6fc], 0
je 0x45e4a0
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.00437dc0
jmp 0x45e4ad
lea edx, [ebp - 0x10]
mov eax, dword [0x62ec40]
call fcn.00437dc0
lea eax, [ebp - 0x27c]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00407010
push eax
call sub.kernel32.dll_FindFirstFileA
mov ebx, eax
cmp ebx, 0xffffffff
je 0x45e6b6
push ebx
call sub.kernel32.dll_FindClose_1
xor eax, eax
push ebp
push 0x45e636
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x268]
push eax
call sub.kernel32.dll_FileTimeToLocalFileTime
lea eax, [ebp - 0x28c]
push eax
lea eax, [ebp - 0x268]
push eax
call sub.kernel32.dll_FileTimeToSystemTime
cmp byte [0x61c6fc], 0
jne 0x45e51f
push 0
call sub.kernel32.dll_GetModuleHandleW_2
cmp eax, dword [0x62ec40]
jne 0x45e52e
lea eax, [ebp - 0x14]
mov edx, 0x45f06c
call fcn.004068ac
jmp 0x45e53b
lea eax, [ebp - 0x14]
mov edx, 0x45f080
call fcn.004068ac
push ebp
lea eax, [ebp - 0x33c]
push eax
movzx eax, word [ebp - 0x28c]
mov cl, 0x30
mov edx, 4
call fcn.0041187c
push dword [ebp - 0x33c]
push 0x45ece4
lea eax, [ebp - 0x340]
push eax
movzx eax, word [ebp - 0x28a]
mov cl, 0x30
mov edx, 2
call fcn.0041187c
push dword [ebp - 0x340]
push 0x45ece4
lea eax, [ebp - 0x344]
push eax
movzx eax, word [ebp - 0x286]
mov cl, 0x30
mov edx, 2
call fcn.0041187c
push dword [ebp - 0x344]
push 0x45ef9c
lea eax, [ebp - 0x348]
push eax
movzx eax, word [ebp - 0x284]
mov cl, 0x30
mov edx, 2
call fcn.0041187c
push dword [ebp - 0x348]
push 0x45ed04
lea eax, [ebp - 0x34c]
push eax
movzx eax, word [ebp - 0x282]
mov cl, 0x30
mov edx, 2
call fcn.0041187c
push dword [ebp - 0x34c]
push 0x45f094
lea eax, [ebp - 0x338]
mov edx, 0xa
call fcn.00406dac
mov eax, dword [ebp - 0x338]
push eax
lea eax, [ebp - 0x350]
mov ecx, 0x45f0a4
mov edx, dword [ebp - 0x14]
call fcn.00406cbc
mov eax, dword [ebp - 0x350]
pop edx
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e640
lea edx, [ebp - 0x354]
mov eax, dword [ebp - 0x1c]
call fcn.00447fbc
cmp dword [ebp - 0x354], 0
jne 0x45e696
mov eax, dword [ebp - 0x10]
call fcn.0041ae48
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jne 0x45e66f
cmp dword [ebp - 0x28], 0
je 0x45e6b6
push ebp
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x358]
call fcn.0041b038
mov edx, dword [ebp - 0x358]
mov eax, 0x45f0bc
call fcn.0045da8c
pop ecx
jmp 0x45e6b6
push ebp
lea edx, [ebp - 0x35c]
mov eax, dword [ebp - 0x1c]
call fcn.00447fbc
mov edx, dword [ebp - 0x35c]
mov eax, 0x45f0bc
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e6ca
xor eax, eax
push ebp
push 0x45e760
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x45f0c4
call sub.kernel32.dll_GetModuleHandleW_2
mov ebx, eax
test ebx, ebx
je 0x45e756
push 0x104
lea eax, [ebp - 0x139]
push eax
push ebx
call sub.kernel32.dll_GetModuleFileNameA
test eax, eax
jbe 0x45e756
lea eax, [ebp - 0x360]
lea edx, [ebp - 0x139]
mov ecx, 0x105
push 0
call fcn.00406b64
mov eax, dword [ebp - 0x360]
call fcn.0041ae48
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jne 0x45e731
cmp dword [ebp - 0x28], 0
je 0x45e756
push ebp
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x364]
call fcn.0041b038
mov edx, dword [ebp - 0x364]
mov eax, 0x45f0e8
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e76a
xor eax, eax
push ebp
push 0x45e811
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x45e7c4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x62ec40]
call fcn.0041bbd4
cmp byte [eax + 0x1a], 2
je 0x45e7a9
push ebp
mov edx, 0x45f100
mov eax, 0x45f118
call fcn.0045da8c
pop ecx
jmp 0x45e7ba
push ebp
mov edx, 0x45f134
mov eax, 0x45f118
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e7df
push ebp
lea eax, [ebp - 0x368]
mov edx, dword [0x61c64c]
mov ecx, 0
call fcn.00406ae0
mov edx, dword [ebp - 0x368]
mov eax, 0x45f14c
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e81b
lea ecx, [ebp - 0x14]
mov edx, 0x45f16c
mov eax, dword [ebp - 0x1c]
call fcn.0044aca0
mov dl, 0x7c
mov eax, dword [ebp - 0x14]
call fcn.00411d08
test eax, eax
jle 0x45e9ef
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 1
xor eax, eax
push ebp
push 0x45e9d9
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
push eax
mov cl, 0x7c
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.00411dcc
mov eax, dword [0x62fdb8]
call fcn.00408ffc
mov ebx, eax
test ebx, ebx
jl 0x45e9cf
inc ebx
mov dword [ebp - 0x30], 0
mov esi, dword [ebp - 0x30]
mov eax, esi
add esi, esi
add esi, esi
add esi, esi
sub esi, eax
mov eax, dword [0x62fdb8]
mov eax, dword [eax + esi*4]
mov edx, dword [ebp - 0x10]
call fcn.004100f8
test al, al
je 0x45e9c5
mov eax, dword [0x62fdb8]
cmp byte [eax + esi*4 + 0x18], 0
jne 0x45e9cf
mov eax, dword [0x62fdb8]
cmp dword [eax + esi*4 + 8], 0
je 0x45e8ee
push ebp
mov eax, dword [0x62fdb8]
mov ebx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x36c]
call ebx
mov edx, dword [ebp - 0x36c]
mov eax, dword [0x62fdb8]
mov eax, dword [eax + esi*4]
call fcn.0045da8c
pop ecx
jmp 0x45e9cf
mov eax, dword [0x62fdb8]
cmp dword [eax + esi*4 + 0xc], 0
je 0x45e93b
push ebp
mov eax, dword [0x62fdb8]
mov ebx, dword [eax + esi*4 + 0xc]
lea eax, [ebp - 0x374]
call ebx
mov edx, dword [ebp - 0x374]
lea eax, [ebp - 0x370]
mov ecx, 0
call fcn.004079bc
mov edx, dword [ebp - 0x370]
mov eax, dword [0x62fdb8]
mov eax, dword [eax + esi*4]
call fcn.0045da8c
pop ecx
jmp 0x45e9cf
mov eax, dword [0x62fdb8]
cmp dword [eax + esi*4 + 0x10], 0
je 0x45e97b
push ebp
mov eax, dword [0x62fdb8]
mov ebx, dword [eax + esi*4 + 0x10]
lea edx, [ebp - 0x378]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x45e963
sub eax, 0xfffffe18
call ebx
mov edx, dword [ebp - 0x378]
mov eax, dword [0x62fdb8]
mov eax, dword [eax + esi*4]
call fcn.0045da8c
pop ecx
jmp 0x45e9cf
push ebp
mov eax, dword [0x62fdb8]
mov ebx, dword [eax + esi*4 + 0x14]
lea edx, [ebp - 0x380]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x45e997
sub eax, 0xfffffe18
call ebx
mov edx, dword [ebp - 0x380]
lea eax, [ebp - 0x37c]
mov ecx, 0
call fcn.004079bc
mov edx, dword [ebp - 0x37c]
mov eax, dword [0x62fdb8]
mov eax, dword [eax + esi*4]
call fcn.0045da8c
pop ecx
jmp 0x45e9cf
inc dword [ebp - 0x30]
dec ebx
jne 0x45e882
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e9e3
inc dword [ebp - 0x2c]
dec dword [ebp - 0x34]
jne 0x45e847
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x30], eax
xor eax, eax
push ebp
push 0x45ea1f
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov edx, 0x45f180
mov eax, 0x45f1a4
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ea29
xor eax, eax
push ebp
push 0x45ea7f
push dword fs:[eax]
mov dword fs:[eax], esp
add dword [0x61cf4c], 1
adc dword [0x61cf50], 0
push ebp
push dword [0x61cf50]
push dword [0x61cf4c]
lea ecx, [ebp - 0x384]
mov dl, 0x30
mov eax, 1
call fcn.004118d4
mov edx, dword [ebp - 0x384]
mov eax, 0x45f1c0
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ea89
xor eax, eax
push ebp
push 0x45eb6d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x4f], 1
je 0x45eb43
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.0045d738
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.0045d6cc
push ebp
mov edx, dword [ebp - 0x14]
mov eax, 0x45f1e0
call fcn.0045da8c
pop ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.00406f8c
je 0x45eb63
lea edx, [ebp - 0x388]
mov eax, dword [ebp - 0x10]
call fcn.0043a178
mov edx, dword [ebp - 0x388]
lea eax, [ebp - 0x10]
call fcn.004068ac
push 0
lea eax, [ebp - 0x10]
mov ecx, 0x45ef9c
mov edx, 0x45f1fc
call fcn.0040fde4
push 0
lea eax, [ebp - 0x10]
mov ecx, 0x45ef9c
mov edx, 0x45f20c
call fcn.0040fde4
push 1
lea eax, [ebp - 0x10]
mov ecx, 0x45ef9c
mov edx, 0x45f21c
call fcn.0040fde4
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x45f22c
call fcn.0045da8c
pop ecx
jmp 0x45eb63
push ebp
lea edx, [ebp - 0x38c]
mov eax, dword [ebp - 0x1c]
call fcn.00448030
mov edx, dword [ebp - 0x38c]
mov eax, 0x45f22c
call fcn.0045da8c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45eb77
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0xc]
xor eax, eax
push ebp
push 0x45ebf4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
dec eax
test eax, eax
jl 0x45ebc3
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [eax + edx*8 + 4]
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov edx, dword [eax + edx*8]
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x28]
inc dword [ebp - 0x2c]
dec dword [ebp - 0x34]
jne 0x45eba0
lea eax, [ebp - 0x390]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
mov ecx, 0x45ecc8
call fcn.0040a780
mov eax, dword [ebp - 0x390]
mov edx, dword [ebp - 0x30]
mov ecx, dword [eax]
call dword [ecx + 0x14]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ebfe
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0x10]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45ecbe
lea eax, [ebp - 0x390]
call fcn.0040a73c
lea eax, [ebp - 0x38c]
mov edx, 3
call fcn.00406820
lea eax, [ebp - 0x380]
call fcn.00407758
lea eax, [ebp - 0x37c]
mov edx, 2
call fcn.00406820
lea eax, [ebp - 0x374]
call fcn.00407758
lea eax, [ebp - 0x370]
mov edx, 0x1c
call fcn.00406820
lea eax, [ebp - 0x300]
mov edx, dword [0x41a56c]
call fcn.00408580
lea eax, [ebp - 0x2e0]
mov edx, 0x14
call fcn.00406820
lea eax, [ebp - 0x290]
call fcn.0040a73c
lea eax, [ebp - 0x18]
call fcn.0040a73c
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00406820
lea eax, [ebp - 4]
mov edx, dword [0x45d8dc]
call fcn.004092dc
ret