Function at 0x449fb0
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 0x449fb8
push ecx
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x44afd8
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x150], 0
jne 0x44a00c
mov dl, 1
mov eax, dword [0x431d40]
call fcn.00439d1c
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 0x44a007
sub edx, 0xffffffc0
call fcn.0040741c
mov eax, esi
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
call fcn.0040741c
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x174], 0
je 0x44af60
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x150]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x44af60
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
call fcn.0040741c
lea eax, [ebp - 0x290]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
mov ecx, 0x44afe8
call fcn.00407448
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 0x44a1ce
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.0041213c
push dword [ebp - 0x298]
push 0x44b000
lea eax, [ebp - 0x29c]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1d6]
mov cl, 0x30
mov edx, 2
call fcn.0041213c
push dword [ebp - 0x29c]
push 0x44b000
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1da]
mov cl, 0x30
mov edx, 2
call fcn.0041213c
push dword [ebp - 0x2a0]
push 0x44b00c
lea eax, [ebp - 0x2a4]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1dc]
mov cl, 0x30
mov edx, 2
call fcn.0041213c
push dword [ebp - 0x2a4]
push 0x44b018
lea eax, [ebp - 0x2a8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1de]
mov cl, 0x30
mov edx, 2
call fcn.0041213c
push dword [ebp - 0x2a8]
push 0x44b018
lea eax, [ebp - 0x2ac]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1e0]
mov cl, 0x30
mov edx, 2
call fcn.0041213c
push dword [ebp - 0x2ac]
push 0x44b00c
lea eax, [ebp - 0x2b0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1e2]
mov cl, 0x30
mov edx, 1
call fcn.0041213c
push dword [ebp - 0x2b0]
push 0x44b024
lea eax, [ebp - 0x294]
mov edx, 0xe
call fcn.004056b4
mov edx, dword [ebp - 0x294]
mov eax, 0x44b030
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a1d8
xor eax, eax
push ebp
push 0x44a20d
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2b4]
call fcn.0042cc64
mov edx, dword [ebp - 0x2b4]
mov eax, 0x44b044
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a217
xor eax, eax
push ebp
push 0x44a24c
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2b8]
call fcn.00448cdc
mov edx, dword [ebp - 0x2b8]
mov eax, 0x44b05c
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a256
xor eax, eax
push ebp
push 0x44a2bd
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.00405590
call fcn.00448c3c
test al, al
je 0x44a2a4
lea eax, [ebp - 0x10]
mov edx, 0x44b074
call fcn.004055ec
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x44b088
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a2c7
xor eax, eax
push ebp
push 0x44a3ac
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x44a2f0
lea eax, [ebp - 0x10]
mov edx, 0x44b09c
call fcn.004053b8
jmp 0x44a2f8
lea eax, [ebp - 0x10]
call fcn.00405320
lea eax, [ebp - 0x14]
push eax
push 0x44b0a8
push dword [ebp - 0x10]
push 0x44b0cc
lea eax, [ebp - 0x2bc]
mov edx, 3
call fcn.004056b4
mov edx, dword [ebp - 0x2bc]
mov ecx, 0x44b0e4
mov eax, 0x80000002
call fcn.0042cc98
lea eax, [ebp - 0x2c0]
push eax
push 0x44b0a8
push dword [ebp - 0x10]
push 0x44b0cc
lea eax, [ebp - 0x2c4]
mov edx, 3
call fcn.004056b4
mov edx, dword [ebp - 0x2c4]
mov ecx, 0x44b104
mov eax, 0x80000002
call fcn.0042cc98
mov edx, dword [ebp - 0x2c0]
lea eax, [ebp - 0x10]
call fcn.004053b8
cmp dword [ebp - 0x14], 0
je 0x44a393
push dword [ebp - 0x10]
push 0x44b11c
push dword [ebp - 0x14]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004056b4
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x44b128
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a3b6
xor eax, eax
push ebp
push 0x44a3eb
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2c8]
call fcn.00449008
mov edx, dword [ebp - 0x2c8]
mov eax, 0x44b144
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a3f5
xor eax, eax
push ebp
push 0x44a42a
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2cc]
call fcn.004490b4
mov edx, dword [ebp - 0x2cc]
mov eax, 0x44b160
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a434
xor eax, eax
push ebp
push 0x44a469
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2d0]
call fcn.004490fc
mov edx, dword [ebp - 0x2d0]
mov eax, 0x44b178
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a473
xor eax, eax
push ebp
push 0x44a4a8
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2d4]
call fcn.00449154
mov edx, dword [ebp - 0x2d4]
mov eax, 0x44b190
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a4b2
xor eax, eax
push ebp
push 0x44a53d
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
call fcn.00449254
cmp dword [ebp - 0x10], 0
je 0x44a533
call fcn.004492f4
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jne 0x44a4ed
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x44b1a8
call fcn.00449ec8
pop ecx
jmp 0x44a533
push ebp
lea eax, [ebp - 0x2dc]
push eax
mov cl, 0x30
mov edx, 1
mov eax, dword [ebp - 0x2c]
call fcn.00412024
push dword [ebp - 0x2dc]
push 0x44b1bc
push dword [ebp - 0x10]
lea eax, [ebp - 0x2d8]
mov edx, 3
call fcn.004056b4
mov edx, dword [ebp - 0x2d8]
mov eax, 0x44b1c8
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a547
xor eax, eax
push ebp
push 0x44a57c
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2e0]
call fcn.004493e0
mov edx, dword [ebp - 0x2e0]
mov eax, 0x44b1dc
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a586
lea eax, [ebp - 0x300]
call fcn.00413010
cmp byte [ebp - 0x2f0], 0
je 0x44a5d9
xor eax, eax
push ebp
push 0x44a5cf
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x304]
call fcn.00449538
mov edx, dword [ebp - 0x304]
mov eax, 0x44b1f4
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a5d9
xor eax, eax
push ebp
push 0x44a6c3
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x44b208
push 0x44b21c
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.0042c5a0
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
call fcn.00411514
mov ebx, eax
movzx eax, byte [ebp - 0x139]
call fcn.00411514
cmp bl, al
je 0x44a693
push ebp
push ebp
lea edx, [ebp - 0x30c]
movzx eax, byte [ebp - 0x139]
call fcn.00449d6c
pop ecx
push dword [ebp - 0x30c]
push 0x44b234
push ebp
lea edx, [ebp - 0x310]
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax]
call fcn.00449d6c
pop ecx
push dword [ebp - 0x310]
lea eax, [ebp - 0x308]
mov edx, 3
call fcn.004056b4
mov edx, dword [ebp - 0x308]
mov eax, 0x44b240
call fcn.00449ec8
pop ecx
jmp 0x44a6b9
push ebp
push ebp
lea edx, [ebp - 0x314]
movzx eax, byte [ebp - 0x139]
call fcn.00449d6c
pop ecx
mov edx, dword [ebp - 0x314]
mov eax, 0x44b240
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a6cd
xor eax, eax
push ebp
push 0x44a702
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x318]
call fcn.004495ec
mov edx, dword [ebp - 0x318]
mov eax, 0x44b258
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a70c
xor eax, eax
push ebp
push 0x44a74e
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.004121e0
mov edx, dword [ebp - 0x31c]
mov eax, 0x44b270
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a758
xor eax, eax
push ebp
push 0x44a78d
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x320]
call fcn.004497bc
mov edx, dword [ebp - 0x320]
mov eax, 0x44b284
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a797
xor eax, eax
push ebp
push 0x44a7e5
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x55a388], 0
je 0x44a7db
call fcn.0040339c
test eax, eax
jle 0x44a7db
push ebp
call sub.kernel32.dll_GetCommandLineA_1
mov edx, eax
lea eax, [ebp - 0x324]
call fcn.00405518
mov edx, dword [ebp - 0x324]
mov eax, 0x44b2a0
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a7ef
xor eax, eax
push ebp
push 0x44a837
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea edx, [ebp - 0x32c]
xor eax, eax
call fcn.0042c5a0
mov eax, dword [ebp - 0x32c]
lea edx, [ebp - 0x328]
call fcn.0042c5d0
mov edx, dword [ebp - 0x328]
mov eax, 0x44b2b8
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a841
xor eax, eax
push ebp
push 0x44a89b
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.kernel32.dll_GetModuleHandleA_2
cmp eax, dword [0x56a7f8]
je 0x44a891
push ebp
lea edx, [ebp - 0x334]
mov eax, dword [0x56a7f8]
call fcn.0042c5a0
mov eax, dword [ebp - 0x334]
lea edx, [ebp - 0x330]
call fcn.0042c5d0
mov edx, dword [ebp - 0x330]
mov eax, 0x44b2cc
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44a8a5
xor eax, eax
push ebp
push 0x44aae8
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x55a424], 0
je 0x44a8c8
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.0042c5a0
jmp 0x44a8d5
lea edx, [ebp - 0x10]
mov eax, dword [0x56a7f8]
call fcn.0042c5a0
lea eax, [ebp - 0x27c]
push eax
mov eax, dword [ebp - 0x10]
call fcn.004057b0
push eax
call sub.kernel32.dll_FindFirstFileA_1
mov ebx, eax
cmp ebx, 0xffffffff
je 0x44aade
push ebx
call sub.kernel32.dll_FindClose_1
xor eax, eax
push ebp
push 0x44aa5e
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 [0x55a424], 0
jne 0x44a947
push 0
call sub.kernel32.dll_GetModuleHandleA_2
cmp eax, dword [0x56a7f8]
jne 0x44a956
lea eax, [ebp - 0x14]
mov edx, 0x44b2e4
call fcn.004053b8
jmp 0x44a963
lea eax, [ebp - 0x14]
mov edx, 0x44b2f4
call fcn.004053b8
push ebp
lea eax, [ebp - 0x33c]
push eax
movzx eax, word [ebp - 0x28c]
mov cl, 0x30
mov edx, 4
call fcn.0041213c
push dword [ebp - 0x33c]
push 0x44b000
lea eax, [ebp - 0x340]
push eax
movzx eax, word [ebp - 0x28a]
mov cl, 0x30
mov edx, 2
call fcn.0041213c
push dword [ebp - 0x340]
push 0x44b000
lea eax, [ebp - 0x344]
push eax
movzx eax, word [ebp - 0x286]
mov cl, 0x30
mov edx, 2
call fcn.0041213c
push dword [ebp - 0x344]
push 0x44b234
lea eax, [ebp - 0x348]
push eax
movzx eax, word [ebp - 0x284]
mov cl, 0x30
mov edx, 2
call fcn.0041213c
push dword [ebp - 0x348]
push 0x44b018
lea eax, [ebp - 0x34c]
push eax
movzx eax, word [ebp - 0x282]
mov cl, 0x30
mov edx, 2
call fcn.0041213c
push dword [ebp - 0x34c]
push 0x44b304
lea eax, [ebp - 0x338]
mov edx, 0xa
call fcn.004056b4
mov eax, dword [ebp - 0x338]
push eax
lea eax, [ebp - 0x350]
mov ecx, 0x44b310
mov edx, dword [ebp - 0x14]
call fcn.00405638
mov eax, dword [ebp - 0x350]
pop edx
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44aa68
lea edx, [ebp - 0x354]
mov eax, dword [ebp - 0x1c]
call fcn.00435bcc
cmp dword [ebp - 0x354], 0
jne 0x44aabe
mov eax, dword [ebp - 0x10]
call fcn.00413548
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jne 0x44aa97
cmp dword [ebp - 0x28], 0
je 0x44aade
push ebp
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x358]
call fcn.00413630
mov edx, dword [ebp - 0x358]
mov eax, 0x44b324
call fcn.00449ec8
pop ecx
jmp 0x44aade
push ebp
lea edx, [ebp - 0x35c]
mov eax, dword [ebp - 0x1c]
call fcn.00435bcc
mov edx, dword [ebp - 0x35c]
mov eax, 0x44b324
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44aaf2
xor eax, eax
push ebp
push 0x44ab86
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x44b32c
call sub.kernel32.dll_GetModuleHandleA_2
mov ebx, eax
test ebx, ebx
je 0x44ab7c
push 0x104
lea eax, [ebp - 0x139]
push eax
push ebx
call sub.kernel32.dll_GetModuleFileNameA_1
test eax, eax
jbe 0x44ab7c
lea eax, [ebp - 0x360]
lea edx, [ebp - 0x139]
mov ecx, 0x105
call fcn.00405590
mov eax, dword [ebp - 0x360]
call fcn.00413548
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jne 0x44ab57
cmp dword [ebp - 0x28], 0
je 0x44ab7c
push ebp
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x364]
call fcn.00413630
mov edx, dword [ebp - 0x364]
mov eax, 0x44b340
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ab90
xor eax, eax
push ebp
push 0x44ac20
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x44abea
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x56a7f8]
call fcn.004140c4
cmp byte [eax + 0x1a], 2
je 0x44abcf
push ebp
mov edx, 0x44b354
mov eax, 0x44b368
call fcn.00449ec8
pop ecx
jmp 0x44abe0
push ebp
mov edx, 0x44b380
mov eax, 0x44b368
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ac05
push ebp
mov edx, 0x44b398
mov eax, 0x44b3a8
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ac2a
lea ecx, [ebp - 0x14]
mov edx, 0x44b3c4
mov eax, dword [ebp - 0x1c]
call fcn.00438648
mov dl, 0x7c
mov eax, dword [ebp - 0x14]
call fcn.004125a4
test eax, eax
jle 0x44ad49
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 1
xor eax, eax
push ebp
push 0x44ad33
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.0041261c
mov eax, dword [0x56b96c]
call fcn.00406a4c
mov ebx, eax
test ebx, ebx
jl 0x44ad29
inc ebx
mov dword [ebp - 0x30], 0
mov esi, dword [ebp - 0x30]
lea esi, [esi + esi*4]
mov eax, dword [0x56b96c]
mov eax, dword [eax + esi*4]
mov edx, dword [ebp - 0x10]
call fcn.0041163c
test al, al
je 0x44ad1f
mov eax, dword [0x56b96c]
cmp byte [eax + esi*4 + 0x10], 0
jne 0x44ad29
mov eax, dword [0x56b96c]
cmp dword [eax + esi*4 + 8], 0
je 0x44aceb
push ebp
mov eax, dword [0x56b96c]
mov ebx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x368]
call ebx
mov edx, dword [ebp - 0x368]
mov eax, dword [0x56b96c]
mov eax, dword [eax + esi*4]
call fcn.00449ec8
pop ecx
jmp 0x44ad29
push ebp
mov eax, dword [0x56b96c]
mov ebx, dword [eax + esi*4 + 0xc]
lea edx, [ebp - 0x36c]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x44ad07
sub eax, 0xfffffe18
call ebx
mov edx, dword [ebp - 0x36c]
mov eax, dword [0x56b96c]
mov eax, dword [eax + esi*4]
call fcn.00449ec8
pop ecx
jmp 0x44ad29
inc dword [ebp - 0x30]
dec ebx
jne 0x44ac91
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ad3d
inc dword [ebp - 0x2c]
dec dword [ebp - 0x34]
jne 0x44ac56
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x30], eax
xor eax, eax
push ebp
push 0x44ad79
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov edx, 0x44b3d4
mov eax, 0x44b3f4
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ad83
xor eax, eax
push ebp
push 0x44add9
push dword fs:[eax]
mov dword fs:[eax], esp
add dword [0x55ac4c], 1
adc dword [0x55ac50], 0
push ebp
push dword [0x55ac50]
push dword [0x55ac4c]
lea ecx, [ebp - 0x370]
mov dl, 0x30
mov eax, 1
call fcn.00412194
mov edx, dword [ebp - 0x370]
mov eax, 0x44b40c
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ade3
xor eax, eax
push ebp
push 0x44aec7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x4f], 1
je 0x44ae9d
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.00449bdc
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.00449b70
push ebp
mov edx, dword [ebp - 0x14]
mov eax, 0x44b428
call fcn.00449ec8
pop ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.00405748
je 0x44aebd
lea edx, [ebp - 0x374]
mov eax, dword [ebp - 0x10]
call fcn.0042e6f0
mov edx, dword [ebp - 0x374]
lea eax, [ebp - 0x10]
call fcn.004053b8
push 0
lea eax, [ebp - 0x10]
mov ecx, 0x44b234
mov edx, 0x44b440
call fcn.004113bc
push 0
lea eax, [ebp - 0x10]
mov ecx, 0x44b234
mov edx, 0x44b44c
call fcn.004113bc
push 1
lea eax, [ebp - 0x10]
mov ecx, 0x44b234
mov edx, 0x44b458
call fcn.004113bc
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x44b464
call fcn.00449ec8
pop ecx
jmp 0x44aebd
push ebp
lea edx, [ebp - 0x378]
mov eax, dword [ebp - 0x1c]
call fcn.00435c38
mov edx, dword [ebp - 0x378]
mov eax, 0x44b464
call fcn.00449ec8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44aed1
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0xc]
xor eax, eax
push ebp
push 0x44af4e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
dec eax
test eax, eax
jl 0x44af1d
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 0x44aefa
lea eax, [ebp - 0x37c]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
mov ecx, 0x44afe8
call fcn.00407448
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 0x44af58
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 0x44afdf
lea eax, [ebp - 0x37c]
call fcn.00407404
lea eax, [ebp - 0x378]
mov edx, 0x1e
call fcn.00405344
lea eax, [ebp - 0x300]
mov edx, dword [0x412f20]
call fcn.004061a0
lea eax, [ebp - 0x2e0]
mov edx, 0x14
call fcn.00405344
lea eax, [ebp - 0x290]
call fcn.00407404
lea eax, [ebp - 0x18]
call fcn.00407404
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00405344
lea eax, [ebp - 8]
mov edx, dword [0x449d48]
call fcn.00406d20
ret