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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x6f
push 0
push 0
dec ecx
jne 0x44a550
push ecx
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x44b570
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x150], 0
jne 0x44a5a4
mov dl, 1
mov eax, dword [0x4322d8]
call fcn.0043a2b4
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 0x44a59f
sub edx, 0xffffffc0
call fcn.0040784c
mov eax, esi
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
call fcn.0040784c
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x174], 0
je 0x44b4f8
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x150]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x44b4f8
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
call fcn.0040784c
lea eax, [ebp - 0x290]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
mov ecx, 0x44b580
call fcn.00407878
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 0x44a766
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.00412694
push dword [ebp - 0x298]
push 0x44b598
lea eax, [ebp - 0x29c]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1d6]
mov cl, 0x30
mov edx, 2
call fcn.00412694
push dword [ebp - 0x29c]
push 0x44b598
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1da]
mov cl, 0x30
mov edx, 2
call fcn.00412694
push dword [ebp - 0x2a0]
push 0x44b5a4
lea eax, [ebp - 0x2a4]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1dc]
mov cl, 0x30
mov edx, 2
call fcn.00412694
push dword [ebp - 0x2a4]
push 0x44b5b0
lea eax, [ebp - 0x2a8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1de]
mov cl, 0x30
mov edx, 2
call fcn.00412694
push dword [ebp - 0x2a8]
push 0x44b5b0
lea eax, [ebp - 0x2ac]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1e0]
mov cl, 0x30
mov edx, 2
call fcn.00412694
push dword [ebp - 0x2ac]
push 0x44b5a4
lea eax, [ebp - 0x2b0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1e2]
mov cl, 0x30
mov edx, 1
call fcn.00412694
push dword [ebp - 0x2b0]
push 0x44b5bc
lea eax, [ebp - 0x294]
mov edx, 0xe
call fcn.0040593c
mov edx, dword [ebp - 0x294]
mov eax, 0x44b5c8
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a770
xor eax, eax
push ebp
push 0x44a7a5
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2b4]
call fcn.0042d1fc
mov edx, dword [ebp - 0x2b4]
mov eax, 0x44b5dc
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a7af
xor eax, eax
push ebp
push 0x44a7e4
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2b8]
call fcn.00449274
mov edx, dword [ebp - 0x2b8]
mov eax, 0x44b5f4
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a7ee
xor eax, eax
push ebp
push 0x44a855
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
call fcn.00405818
call fcn.004491d4
test al, al
je 0x44a83c
lea eax, [ebp - 0x10]
mov edx, 0x44b60c
call fcn.00405874
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x44b620
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a85f
xor eax, eax
push ebp
push 0x44a944
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x44a888
lea eax, [ebp - 0x10]
mov edx, 0x44b634
call fcn.00405640
jmp 0x44a890
lea eax, [ebp - 0x10]
call fcn.004055a8
lea eax, [ebp - 0x14]
push eax
push 0x44b640
push dword [ebp - 0x10]
push 0x44b664
lea eax, [ebp - 0x2bc]
mov edx, 3
call fcn.0040593c
mov edx, dword [ebp - 0x2bc]
mov ecx, 0x44b67c
mov eax, 0x80000002
call fcn.0042d230
lea eax, [ebp - 0x2c0]
push eax
push 0x44b640
push dword [ebp - 0x10]
push 0x44b664
lea eax, [ebp - 0x2c4]
mov edx, 3
call fcn.0040593c
mov edx, dword [ebp - 0x2c4]
mov ecx, 0x44b69c
mov eax, 0x80000002
call fcn.0042d230
mov edx, dword [ebp - 0x2c0]
lea eax, [ebp - 0x10]
call fcn.00405640
cmp dword [ebp - 0x14], 0
je 0x44a92b
push dword [ebp - 0x10]
push 0x44b6b4
push dword [ebp - 0x14]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.0040593c
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x44b6c0
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a94e
xor eax, eax
push ebp
push 0x44a983
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2c8]
call fcn.004495a0
mov edx, dword [ebp - 0x2c8]
mov eax, 0x44b6dc
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a98d
xor eax, eax
push ebp
push 0x44a9c2
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2cc]
call fcn.0044964c
mov edx, dword [ebp - 0x2cc]
mov eax, 0x44b6f8
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a9cc
xor eax, eax
push ebp
push 0x44aa01
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2d0]
call fcn.00449694
mov edx, dword [ebp - 0x2d0]
mov eax, 0x44b710
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44aa0b
xor eax, eax
push ebp
push 0x44aa40
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2d4]
call fcn.004496ec
mov edx, dword [ebp - 0x2d4]
mov eax, 0x44b728
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44aa4a
xor eax, eax
push ebp
push 0x44aad5
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
call fcn.004497ec
cmp dword [ebp - 0x10], 0
je 0x44aacb
call fcn.0044988c
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jne 0x44aa85
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x44b740
call fcn.0044a460
pop ecx
jmp 0x44aacb
push ebp
lea eax, [ebp - 0x2dc]
push eax
mov cl, 0x30
mov edx, 1
mov eax, dword [ebp - 0x2c]
call fcn.0041257c
push dword [ebp - 0x2dc]
push 0x44b754
push dword [ebp - 0x10]
lea eax, [ebp - 0x2d8]
mov edx, 3
call fcn.0040593c
mov edx, dword [ebp - 0x2d8]
mov eax, 0x44b760
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44aadf
xor eax, eax
push ebp
push 0x44ab14
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2e0]
call fcn.00449978
mov edx, dword [ebp - 0x2e0]
mov eax, 0x44b774
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ab1e
lea eax, [ebp - 0x300]
call fcn.00413568
cmp byte [ebp - 0x2f0], 0
je 0x44ab71
xor eax, eax
push ebp
push 0x44ab67
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x304]
call fcn.00449ad0
mov edx, dword [ebp - 0x304]
mov eax, 0x44b78c
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ab71
xor eax, eax
push ebp
push 0x44ac5b
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x44b7a0
push 0x44b7b4
call sub.kernel32.dll_GetModuleHandleA_2
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebp - 4], eax
push 0x104
lea eax, [ebp - 0x139]
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.0042cb38
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
call fcn.00411a6c
mov ebx, eax
movzx eax, byte [ebp - 0x139]
call fcn.00411a6c
cmp bl, al
je 0x44ac2b
push ebp
push ebp
lea edx, [ebp - 0x30c]
movzx eax, byte [ebp - 0x139]
call fcn.0044a304
pop ecx
push dword [ebp - 0x30c]
push 0x44b7cc
push ebp
lea edx, [ebp - 0x310]
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
call fcn.0044a304
pop ecx
push dword [ebp - 0x310]
lea eax, [ebp - 0x308]
mov edx, 3
call fcn.0040593c
mov edx, dword [ebp - 0x308]
mov eax, 0x44b7d8
call fcn.0044a460
pop ecx
jmp 0x44ac51
push ebp
push ebp
lea edx, [ebp - 0x314]
movzx eax, byte [ebp - 0x139]
call fcn.0044a304
pop ecx
mov edx, dword [ebp - 0x314]
mov eax, 0x44b7d8
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ac65
xor eax, eax
push ebp
push 0x44ac9a
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x318]
call fcn.00449b84
mov edx, dword [ebp - 0x318]
mov eax, 0x44b7f0
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44aca4
xor eax, eax
push ebp
push 0x44ace6
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.00412738
mov edx, dword [ebp - 0x31c]
mov eax, 0x44b808
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44acf0
xor eax, eax
push ebp
push 0x44ad25
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x320]
call fcn.00449d54
mov edx, dword [ebp - 0x320]
mov eax, 0x44b81c
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ad2f
xor eax, eax
push ebp
push 0x44ad7d
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x5bc390], 0
je 0x44ad73
call fcn.00403500
test eax, eax
jle 0x44ad73
push ebp
call sub.kernel32.dll_GetCommandLineA_1
mov edx, eax
lea eax, [ebp - 0x324]
call fcn.004057a0
mov edx, dword [ebp - 0x324]
mov eax, 0x44b838
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ad87
xor eax, eax
push ebp
push 0x44adcf
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea edx, [ebp - 0x32c]
xor eax, eax
call fcn.0042cb38
mov eax, dword [ebp - 0x32c]
lea edx, [ebp - 0x328]
call fcn.0042cb68
mov edx, dword [ebp - 0x328]
mov eax, 0x44b850
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44add9
xor eax, eax
push ebp
push 0x44ae33
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.kernel32.dll_GetModuleHandleA_2
cmp eax, dword [0x5cd7f8]
je 0x44ae29
push ebp
lea edx, [ebp - 0x334]
mov eax, dword [0x5cd7f8]
call fcn.0042cb38
mov eax, dword [ebp - 0x334]
lea edx, [ebp - 0x330]
call fcn.0042cb68
mov edx, dword [ebp - 0x330]
mov eax, 0x44b864
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ae3d
xor eax, eax
push ebp
push 0x44b080
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x5bc42c], 0
je 0x44ae60
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.0042cb38
jmp 0x44ae6d
lea edx, [ebp - 0x10]
mov eax, dword [0x5cd7f8]
call fcn.0042cb38
lea eax, [ebp - 0x27c]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00405a38
push eax
call sub.kernel32.dll_FindFirstFileA_1
mov ebx, eax
cmp ebx, 0xffffffff
je 0x44b076
push ebx
call sub.kernel32.dll_FindClose_1
xor eax, eax
push ebp
push 0x44aff6
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 [0x5bc42c], 0
jne 0x44aedf
push 0
call sub.kernel32.dll_GetModuleHandleA_2
cmp eax, dword [0x5cd7f8]
jne 0x44aeee
lea eax, [ebp - 0x14]
mov edx, 0x44b87c
call fcn.00405640
jmp 0x44aefb
lea eax, [ebp - 0x14]
mov edx, 0x44b88c
call fcn.00405640
push ebp
lea eax, [ebp - 0x33c]
push eax
movzx eax, word [ebp - 0x28c]
mov cl, 0x30
mov edx, 4
call fcn.00412694
push dword [ebp - 0x33c]
push 0x44b598
lea eax, [ebp - 0x340]
push eax
movzx eax, word [ebp - 0x28a]
mov cl, 0x30
mov edx, 2
call fcn.00412694
push dword [ebp - 0x340]
push 0x44b598
lea eax, [ebp - 0x344]
push eax
movzx eax, word [ebp - 0x286]
mov cl, 0x30
mov edx, 2
call fcn.00412694
push dword [ebp - 0x344]
push 0x44b7cc
lea eax, [ebp - 0x348]
push eax
movzx eax, word [ebp - 0x284]
mov cl, 0x30
mov edx, 2
call fcn.00412694
push dword [ebp - 0x348]
push 0x44b5b0
lea eax, [ebp - 0x34c]
push eax
movzx eax, word [ebp - 0x282]
mov cl, 0x30
mov edx, 2
call fcn.00412694
push dword [ebp - 0x34c]
push 0x44b89c
lea eax, [ebp - 0x338]
mov edx, 0xa
call fcn.0040593c
mov eax, dword [ebp - 0x338]
push eax
lea eax, [ebp - 0x350]
mov ecx, 0x44b8a8
mov edx, dword [ebp - 0x14]
call fcn.004058c0
mov eax, dword [ebp - 0x350]
pop edx
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44b000
lea edx, [ebp - 0x354]
mov eax, dword [ebp - 0x1c]
call fcn.00436164
cmp dword [ebp - 0x354], 0
jne 0x44b056
mov eax, dword [ebp - 0x10]
call fcn.00413aa0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jne 0x44b02f
cmp dword [ebp - 0x28], 0
je 0x44b076
push ebp
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x358]
call fcn.00413b88
mov edx, dword [ebp - 0x358]
mov eax, 0x44b8bc
call fcn.0044a460
pop ecx
jmp 0x44b076
push ebp
lea edx, [ebp - 0x35c]
mov eax, dword [ebp - 0x1c]
call fcn.00436164
mov edx, dword [ebp - 0x35c]
mov eax, 0x44b8bc
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44b08a
xor eax, eax
push ebp
push 0x44b11e
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x44b8c4
call sub.kernel32.dll_GetModuleHandleA_2
mov ebx, eax
test ebx, ebx
je 0x44b114
push 0x104
lea eax, [ebp - 0x139]
push eax
push ebx
call sub.kernel32.dll_GetModuleFileNameA_1
test eax, eax
jbe 0x44b114
lea eax, [ebp - 0x360]
lea edx, [ebp - 0x139]
mov ecx, 0x105
call fcn.00405818
mov eax, dword [ebp - 0x360]
call fcn.00413aa0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jne 0x44b0ef
cmp dword [ebp - 0x28], 0
je 0x44b114
push ebp
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x364]
call fcn.00413b88
mov edx, dword [ebp - 0x364]
mov eax, 0x44b8d8
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44b128
xor eax, eax
push ebp
push 0x44b1b8
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x44b182
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x5cd7f8]
call fcn.0041461c
cmp byte [eax + 0x1a], 2
je 0x44b167
push ebp
mov edx, 0x44b8ec
mov eax, 0x44b900
call fcn.0044a460
pop ecx
jmp 0x44b178
push ebp
mov edx, 0x44b918
mov eax, 0x44b900
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44b19d
push ebp
mov edx, 0x44b930
mov eax, 0x44b940
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44b1c2
lea ecx, [ebp - 0x14]
mov edx, 0x44b95c
mov eax, dword [ebp - 0x1c]
call fcn.00438be0
mov dl, 0x7c
mov eax, dword [ebp - 0x14]
call fcn.00412afc
test eax, eax
jle 0x44b2e1
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 1
xor eax, eax
push ebp
push 0x44b2cb
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.00412b74
mov eax, dword [0x5ce96c]
call fcn.00406e7c
mov ebx, eax
test ebx, ebx
jl 0x44b2c1
inc ebx
mov dword [ebp - 0x30], 0
mov esi, dword [ebp - 0x30]
lea esi, [esi + esi*4]
mov eax, dword [0x5ce96c]
mov eax, dword [eax + esi*4]
mov edx, dword [ebp - 0x10]
call fcn.00411b94
test al, al
je 0x44b2b7
mov eax, dword [0x5ce96c]
cmp byte [eax + esi*4 + 0x10], 0
jne 0x44b2c1
mov eax, dword [0x5ce96c]
cmp dword [eax + esi*4 + 8], 0
je 0x44b283
push ebp
mov eax, dword [0x5ce96c]
mov ebx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x368]
call ebx
mov edx, dword [ebp - 0x368]
mov eax, dword [0x5ce96c]
mov eax, dword [eax + esi*4]
call fcn.0044a460
pop ecx
jmp 0x44b2c1
push ebp
mov eax, dword [0x5ce96c]
mov ebx, dword [eax + esi*4 + 0xc]
lea edx, [ebp - 0x36c]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x44b29f
sub eax, 0xfffffe18
call ebx
mov edx, dword [ebp - 0x36c]
mov eax, dword [0x5ce96c]
mov eax, dword [eax + esi*4]
call fcn.0044a460
pop ecx
jmp 0x44b2c1
inc dword [ebp - 0x30]
dec ebx
jne 0x44b229
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44b2d5
inc dword [ebp - 0x2c]
dec dword [ebp - 0x34]
jne 0x44b1ee
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x30], eax
xor eax, eax
push ebp
push 0x44b311
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov edx, 0x44b96c
mov eax, 0x44b98c
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44b31b
xor eax, eax
push ebp
push 0x44b371
push dword fs:[eax]
mov dword fs:[eax], esp
add dword [0x5bcc54], 1
adc dword [0x5bcc58], 0
push ebp
push dword [0x5bcc58]
push dword [0x5bcc54]
lea ecx, [ebp - 0x370]
mov dl, 0x30
mov eax, 1
call fcn.004126ec
mov edx, dword [ebp - 0x370]
mov eax, 0x44b9a4
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44b37b
xor eax, eax
push ebp
push 0x44b45f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x4f], 1
je 0x44b435
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.0044a174
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.0044a108
push ebp
mov edx, dword [ebp - 0x14]
mov eax, 0x44b9c0
call fcn.0044a460
pop ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.004059d0
je 0x44b455
lea edx, [ebp - 0x374]
mov eax, dword [ebp - 0x10]
call fcn.0042ec88
mov edx, dword [ebp - 0x374]
lea eax, [ebp - 0x10]
call fcn.00405640
push 0
lea eax, [ebp - 0x10]
mov ecx, 0x44b7cc
mov edx, 0x44b9d8
call fcn.00411914
push 0
lea eax, [ebp - 0x10]
mov ecx, 0x44b7cc
mov edx, 0x44b9e4
call fcn.00411914
push 1
lea eax, [ebp - 0x10]
mov ecx, 0x44b7cc
mov edx, 0x44b9f0
call fcn.00411914
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x44b9fc
call fcn.0044a460
pop ecx
jmp 0x44b455
push ebp
lea edx, [ebp - 0x378]
mov eax, dword [ebp - 0x1c]
call fcn.004361d0
mov edx, dword [ebp - 0x378]
mov eax, 0x44b9fc
call fcn.0044a460
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44b469
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0xc]
xor eax, eax
push ebp
push 0x44b4e6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
dec eax
test eax, eax
jl 0x44b4b5
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [eax + edx*8 + 4]
mov eax, dword [ebp - 8]
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 0x44b492
lea eax, [ebp - 0x37c]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
mov ecx, 0x44b580
call fcn.00407878
mov eax, dword [ebp - 0x37c]
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 0x44b4f0
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 0x44b577
lea eax, [ebp - 0x37c]
call fcn.00407834
lea eax, [ebp - 0x378]
mov edx, 0x1e
call fcn.004055cc
lea eax, [ebp - 0x300]
mov edx, dword [0x413478]
call fcn.00406434
lea eax, [ebp - 0x2e0]
mov edx, 0x14
call fcn.004055cc
lea eax, [ebp - 0x290]
call fcn.00407834
lea eax, [ebp - 0x18]
call fcn.00407834
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004055cc
lea eax, [ebp - 8]
mov edx, dword [0x44a2e0]
call fcn.00407150
ret