Function at 0x44e94c
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 0x44e954
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x44fa8c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x150], 0
jne 0x44e9a7
mov dl, 1
mov eax, dword [0x435d90]
call fcn.0043e25c
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 0x44e9a2
sub edx, 0xffffffc0
call fcn.0040872c
mov eax, esi
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
call fcn.0040872c
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x174], 0
je 0x44f9de
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x150]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x44f9de
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
call fcn.0040872c
lea eax, [ebp - 0x290]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
mov ecx, 0x44faa0
call fcn.00408758
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 0x44eb69
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.0040d8c0
push dword [ebp - 0x298]
push 0x44fabc
lea eax, [ebp - 0x29c]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1d6]
mov cl, 0x30
mov edx, 2
call fcn.0040d8c0
push dword [ebp - 0x29c]
push 0x44fabc
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1da]
mov cl, 0x30
mov edx, 2
call fcn.0040d8c0
push dword [ebp - 0x2a0]
push 0x44facc
lea eax, [ebp - 0x2a4]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1dc]
mov cl, 0x30
mov edx, 2
call fcn.0040d8c0
push dword [ebp - 0x2a4]
push 0x44fadc
lea eax, [ebp - 0x2a8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1de]
mov cl, 0x30
mov edx, 2
call fcn.0040d8c0
push dword [ebp - 0x2a8]
push 0x44fadc
lea eax, [ebp - 0x2ac]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1e0]
mov cl, 0x30
mov edx, 2
call fcn.0040d8c0
push dword [ebp - 0x2ac]
push 0x44facc
lea eax, [ebp - 0x2b0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1e2]
mov cl, 0x30
mov edx, 1
call fcn.0040d8c0
push dword [ebp - 0x2b0]
push 0x44faec
lea eax, [ebp - 0x294]
mov edx, 0xe
call fcn.00405d38
mov edx, dword [ebp - 0x294]
mov eax, 0x44fafc
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44eb73
xor eax, eax
push ebp
push 0x44eba8
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2b4]
call fcn.00430980
mov edx, dword [ebp - 0x2b4]
mov eax, 0x44fb14
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ebb2
xor eax, eax
push ebp
push 0x44ebe7
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2b8]
call fcn.0044d57c
mov edx, dword [ebp - 0x2b8]
mov eax, 0x44fb30
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ebf1
xor eax, eax
push ebp
push 0x44ec5a
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.00405b60
call fcn.0044d4bc
test al, al
je 0x44ec41
lea eax, [ebp - 0x10]
mov edx, 0x44fb4c
call fcn.00405bf0
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x44fb64
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ec64
xor eax, eax
push ebp
push 0x44ed49
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.KERNEL32.DLL_GetVersion
test eax, 0x80000000
jne 0x44ec8d
lea eax, [ebp - 0x10]
mov edx, 0x44fb7c
call fcn.004058d8
jmp 0x44ec95
lea eax, [ebp - 0x10]
call fcn.00405828
lea eax, [ebp - 0x14]
push eax
push 0x44fb8c
push dword [ebp - 0x10]
push 0x44fbb4
lea eax, [ebp - 0x2bc]
mov edx, 3
call fcn.00405d38
mov edx, dword [ebp - 0x2bc]
mov ecx, 0x44fbd0
mov eax, 0x80000002
call fcn.004309b8
lea eax, [ebp - 0x2c0]
push eax
push 0x44fb8c
push dword [ebp - 0x10]
push 0x44fbb4
lea eax, [ebp - 0x2c4]
mov edx, 3
call fcn.00405d38
mov edx, dword [ebp - 0x2c4]
mov ecx, 0x44fbf4
mov eax, 0x80000002
call fcn.004309b8
mov edx, dword [ebp - 0x2c0]
lea eax, [ebp - 0x10]
call fcn.004058d8
cmp dword [ebp - 0x14], 0
je 0x44ed30
push dword [ebp - 0x10]
push 0x44fc10
push dword [ebp - 0x14]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00405d38
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x44fc20
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ed53
xor eax, eax
push ebp
push 0x44ed88
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2c8]
call fcn.0044d8fc
mov edx, dword [ebp - 0x2c8]
mov eax, 0x44fc40
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ed92
xor eax, eax
push ebp
push 0x44edc7
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2cc]
call fcn.0044d9ac
mov edx, dword [ebp - 0x2cc]
mov eax, 0x44fc60
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44edd1
xor eax, eax
push ebp
push 0x44ee06
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2d0]
call fcn.0044d9f4
mov edx, dword [ebp - 0x2d0]
mov eax, 0x44fc7c
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ee10
xor eax, eax
push ebp
push 0x44ee45
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2d4]
call fcn.0044da4c
mov edx, dword [ebp - 0x2d4]
mov eax, 0x44fc98
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ee4f
xor eax, eax
push ebp
push 0x44eeda
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
call fcn.0044db50
cmp dword [ebp - 0x10], 0
je 0x44eed0
call fcn.0044dc00
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jne 0x44ee8a
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x44fcb4
call fcn.0044e864
pop ecx
jmp 0x44eed0
push ebp
lea eax, [ebp - 0x2dc]
push eax
mov cl, 0x30
mov edx, 1
mov eax, dword [ebp - 0x2c]
call fcn.0040d7a4
push dword [ebp - 0x2dc]
push 0x44fccc
push dword [ebp - 0x10]
lea eax, [ebp - 0x2d8]
mov edx, 3
call fcn.00405d38
mov edx, dword [ebp - 0x2d8]
mov eax, 0x44fcdc
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44eee4
xor eax, eax
push ebp
push 0x44ef19
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2e0]
call fcn.0044dcf4
mov edx, dword [ebp - 0x2e0]
mov eax, 0x44fcf4
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ef23
lea eax, [ebp - 0x300]
call fcn.00415f48
cmp byte [ebp - 0x2f0], 0
je 0x44ef76
xor eax, eax
push ebp
push 0x44ef6c
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x304]
call fcn.0044de74
mov edx, dword [ebp - 0x304]
mov eax, 0x44fd10
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ef76
xor eax, eax
push ebp
push 0x44f06e
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x44fd24
push 0x44fd4c
call sub.KERNEL32.DLL_GetModuleHandleW
push eax
call fcn.00409694
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.0043028c
lea eax, [ebp - 0x10]
xor edx, edx
call fcn.00405a38
movzx eax, byte [eax]
call fcn.0040bf60
mov ebx, eax
movzx eax, byte [ebp - 0x139]
call fcn.0040bf60
cmp bl, al
je 0x44f03e
push ebp
push ebp
lea edx, [ebp - 0x30c]
movzx eax, byte [ebp - 0x139]
call fcn.0044e6ec
pop ecx
push dword [ebp - 0x30c]
push 0x44fd74
push ebp
lea eax, [ebp - 0x10]
xor edx, edx
call fcn.00405a38
movzx eax, byte [eax]
lea edx, [ebp - 0x310]
call fcn.0044e6ec
pop ecx
push dword [ebp - 0x310]
lea eax, [ebp - 0x308]
mov edx, 3
call fcn.00405d38
mov edx, dword [ebp - 0x308]
mov eax, 0x44fd84
call fcn.0044e864
pop ecx
jmp 0x44f064
push ebp
push ebp
lea edx, [ebp - 0x314]
movzx eax, byte [ebp - 0x139]
call fcn.0044e6ec
pop ecx
mov edx, dword [ebp - 0x314]
mov eax, 0x44fd84
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f078
xor eax, eax
push ebp
push 0x44f0ad
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x318]
call fcn.0044df30
mov edx, dword [ebp - 0x318]
mov eax, 0x44fda0
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f0b7
xor eax, eax
push ebp
push 0x44f0f9
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.0040d96c
mov edx, dword [ebp - 0x31c]
mov eax, 0x44fdbc
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f103
xor eax, eax
push ebp
push 0x44f138
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x320]
call fcn.0044e10c
mov edx, dword [ebp - 0x320]
mov eax, 0x44fdd4
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f142
xor eax, eax
push ebp
push 0x44f195
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x549404], 0
je 0x44f18b
call fcn.0040344c
test eax, eax
jle 0x44f18b
push ebp
call sub.KERNEL32.DLL_GetCommandLineA
mov edx, eax
lea eax, [ebp - 0x324]
mov ecx, 0
call fcn.00405adc
mov edx, dword [ebp - 0x324]
mov eax, 0x44fdf4
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f19f
xor eax, eax
push ebp
push 0x44f1e7
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea edx, [ebp - 0x32c]
xor eax, eax
call fcn.0043028c
mov eax, dword [ebp - 0x32c]
lea edx, [ebp - 0x328]
call fcn.004302c0
mov edx, dword [ebp - 0x328]
mov eax, 0x44fe10
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f1f1
xor eax, eax
push ebp
push 0x44f24b
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.KERNEL32.DLL_GetModuleHandleW
cmp eax, dword [0x554b20]
je 0x44f241
push ebp
lea edx, [ebp - 0x334]
mov eax, dword [0x554b20]
call fcn.0043028c
mov eax, dword [ebp - 0x334]
lea edx, [ebp - 0x330]
call fcn.004302c0
mov edx, dword [ebp - 0x330]
mov eax, 0x44fe28
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f255
xor eax, eax
push ebp
push 0x44f498
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x5494a4], 0
je 0x44f278
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.0043028c
jmp 0x44f285
lea edx, [ebp - 0x10]
mov eax, dword [0x554b20]
call fcn.0043028c
lea eax, [ebp - 0x27c]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00405ee4
push eax
call sub.KERNEL32.DLL_FindFirstFileA
mov ebx, eax
cmp ebx, 0xffffffff
je 0x44f48e
push ebx
call sub.KERNEL32.DLL_FindClose
xor eax, eax
push ebp
push 0x44f40e
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 [0x5494a4], 0
jne 0x44f2f7
push 0
call sub.KERNEL32.DLL_GetModuleHandleW
cmp eax, dword [0x554b20]
jne 0x44f306
lea eax, [ebp - 0x14]
mov edx, 0x44fe44
call fcn.004058d8
jmp 0x44f313
lea eax, [ebp - 0x14]
mov edx, 0x44fe58
call fcn.004058d8
push ebp
lea eax, [ebp - 0x33c]
push eax
movzx eax, word [ebp - 0x28c]
mov cl, 0x30
mov edx, 4
call fcn.0040d8c0
push dword [ebp - 0x33c]
push 0x44fabc
lea eax, [ebp - 0x340]
push eax
movzx eax, word [ebp - 0x28a]
mov cl, 0x30
mov edx, 2
call fcn.0040d8c0
push dword [ebp - 0x340]
push 0x44fabc
lea eax, [ebp - 0x344]
push eax
movzx eax, word [ebp - 0x286]
mov cl, 0x30
mov edx, 2
call fcn.0040d8c0
push dword [ebp - 0x344]
push 0x44fd74
lea eax, [ebp - 0x348]
push eax
movzx eax, word [ebp - 0x284]
mov cl, 0x30
mov edx, 2
call fcn.0040d8c0
push dword [ebp - 0x348]
push 0x44fadc
lea eax, [ebp - 0x34c]
push eax
movzx eax, word [ebp - 0x282]
mov cl, 0x30
mov edx, 2
call fcn.0040d8c0
push dword [ebp - 0x34c]
push 0x44fe6c
lea eax, [ebp - 0x338]
mov edx, 0xa
call fcn.00405d38
mov eax, dword [ebp - 0x338]
push eax
lea eax, [ebp - 0x350]
mov ecx, 0x44fe7c
mov edx, dword [ebp - 0x14]
call fcn.00405c6c
mov eax, dword [ebp - 0x350]
pop edx
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f418
lea edx, [ebp - 0x354]
mov eax, dword [ebp - 0x1c]
call fcn.00439e4c
cmp dword [ebp - 0x354], 0
jne 0x44f46e
mov eax, dword [ebp - 0x10]
call fcn.004164fc
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jne 0x44f447
cmp dword [ebp - 0x28], 0
je 0x44f48e
push ebp
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x358]
call fcn.004166ec
mov edx, dword [ebp - 0x358]
mov eax, 0x44fe94
call fcn.0044e864
pop ecx
jmp 0x44f48e
push ebp
lea edx, [ebp - 0x35c]
mov eax, dword [ebp - 0x1c]
call fcn.00439e4c
mov edx, dword [ebp - 0x35c]
mov eax, 0x44fe94
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f4a2
xor eax, eax
push ebp
push 0x44f538
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x44fe9c
call sub.KERNEL32.DLL_GetModuleHandleW
mov ebx, eax
test ebx, ebx
je 0x44f52e
push 0x104
lea eax, [ebp - 0x139]
push eax
push ebx
call sub.KERNEL32.DLL_GetModuleFileNameA
test eax, eax
jbe 0x44f52e
lea eax, [ebp - 0x360]
lea edx, [ebp - 0x139]
mov ecx, 0x105
push 0
call fcn.00405b60
mov eax, dword [ebp - 0x360]
call fcn.004164fc
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jne 0x44f509
cmp dword [ebp - 0x28], 0
je 0x44f52e
push ebp
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x364]
call fcn.004166ec
mov edx, dword [ebp - 0x364]
mov eax, 0x44fec0
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f542
xor eax, eax
push ebp
push 0x44f5e9
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x44f59c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x554b20]
call fcn.004171e4
cmp byte [eax + 0x1a], 2
je 0x44f581
push ebp
mov edx, 0x44fed8
mov eax, 0x44fef0
call fcn.0044e864
pop ecx
jmp 0x44f592
push ebp
mov edx, 0x44ff0c
mov eax, 0x44fef0
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f5b7
push ebp
lea eax, [ebp - 0x368]
mov edx, dword [0x5493f4]
mov ecx, 0
call fcn.00405adc
mov edx, dword [ebp - 0x368]
mov eax, 0x44ff24
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f5f3
lea ecx, [ebp - 0x14]
mov edx, 0x44ff44
mov eax, dword [ebp - 0x1c]
call fcn.0043cb2c
mov dl, 0x7c
mov eax, dword [ebp - 0x14]
call fcn.0040dd4c
test eax, eax
jle 0x44f7c7
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 1
xor eax, eax
push ebp
push 0x44f7b1
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.0040de10
mov eax, dword [0x555c98]
call fcn.00407c58
mov ebx, eax
test ebx, ebx
jl 0x44f7a7
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 [0x555c98]
mov eax, dword [eax + esi*4]
mov edx, dword [ebp - 0x10]
call fcn.0040c13c
test al, al
je 0x44f79d
mov eax, dword [0x555c98]
cmp byte [eax + esi*4 + 0x18], 0
jne 0x44f7a7
mov eax, dword [0x555c98]
cmp dword [eax + esi*4 + 8], 0
je 0x44f6c6
push ebp
mov eax, dword [0x555c98]
mov ebx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x36c]
call ebx
mov edx, dword [ebp - 0x36c]
mov eax, dword [0x555c98]
mov eax, dword [eax + esi*4]
call fcn.0044e864
pop ecx
jmp 0x44f7a7
mov eax, dword [0x555c98]
cmp dword [eax + esi*4 + 0xc], 0
je 0x44f713
push ebp
mov eax, dword [0x555c98]
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.004068d4
mov edx, dword [ebp - 0x370]
mov eax, dword [0x555c98]
mov eax, dword [eax + esi*4]
call fcn.0044e864
pop ecx
jmp 0x44f7a7
mov eax, dword [0x555c98]
cmp dword [eax + esi*4 + 0x10], 0
je 0x44f753
push ebp
mov eax, dword [0x555c98]
mov ebx, dword [eax + esi*4 + 0x10]
lea edx, [ebp - 0x378]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x44f73b
sub eax, 0xfffffe18
call ebx
mov edx, dword [ebp - 0x378]
mov eax, dword [0x555c98]
mov eax, dword [eax + esi*4]
call fcn.0044e864
pop ecx
jmp 0x44f7a7
push ebp
mov eax, dword [0x555c98]
mov ebx, dword [eax + esi*4 + 0x14]
lea edx, [ebp - 0x380]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x44f76f
sub eax, 0xfffffe18
call ebx
mov edx, dword [ebp - 0x380]
lea eax, [ebp - 0x37c]
mov ecx, 0
call fcn.004068d4
mov edx, dword [ebp - 0x37c]
mov eax, dword [0x555c98]
mov eax, dword [eax + esi*4]
call fcn.0044e864
pop ecx
jmp 0x44f7a7
inc dword [ebp - 0x30]
dec ebx
jne 0x44f65a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f7bb
inc dword [ebp - 0x2c]
dec dword [ebp - 0x34]
jne 0x44f61f
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x30], eax
xor eax, eax
push ebp
push 0x44f7f7
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov edx, 0x44ff58
mov eax, 0x44ff7c
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f801
xor eax, eax
push ebp
push 0x44f857
push dword fs:[eax]
mov dword fs:[eax], esp
add dword [0x549cf4], 1
adc dword [0x549cf8], 0
push ebp
push dword [0x549cf8]
push dword [0x549cf4]
lea ecx, [ebp - 0x384]
mov dl, 0x30
mov eax, 1
call fcn.0040d918
mov edx, dword [ebp - 0x384]
mov eax, 0x44ff98
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f861
xor eax, eax
push ebp
push 0x44f945
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x4f], 1
je 0x44f91b
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.0044e540
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.0044e4d4
push ebp
mov edx, dword [ebp - 0x14]
mov eax, 0x44ffb8
call fcn.0044e864
pop ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.00405ecc
je 0x44f93b
lea edx, [ebp - 0x388]
mov eax, dword [ebp - 0x10]
call fcn.004325e0
mov edx, dword [ebp - 0x388]
lea eax, [ebp - 0x10]
call fcn.004058d8
push 0
lea eax, [ebp - 0x10]
mov ecx, 0x44fd74
mov edx, 0x44ffd4
call fcn.0040be28
push 0
lea eax, [ebp - 0x10]
mov ecx, 0x44fd74
mov edx, 0x44ffe4
call fcn.0040be28
push 1
lea eax, [ebp - 0x10]
mov ecx, 0x44fd74
mov edx, 0x44fff4
call fcn.0040be28
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x450004
call fcn.0044e864
pop ecx
jmp 0x44f93b
push ebp
lea edx, [ebp - 0x38c]
mov eax, dword [ebp - 0x1c]
call fcn.00439ec0
mov edx, dword [ebp - 0x38c]
mov eax, 0x450004
call fcn.0044e864
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f94f
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0xc]
xor eax, eax
push ebp
push 0x44f9cc
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
dec eax
test eax, eax
jl 0x44f99b
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 0x44f978
lea eax, [ebp - 0x390]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
mov ecx, 0x44faa0
call fcn.00408758
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 0x44f9d6
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 0x44fa96
lea eax, [ebp - 0x390]
call fcn.00408714
lea eax, [ebp - 0x38c]
mov edx, 3
call fcn.0040584c
lea eax, [ebp - 0x380]
call fcn.00406680
lea eax, [ebp - 0x37c]
mov edx, 2
call fcn.0040584c
lea eax, [ebp - 0x374]
call fcn.00406680
lea eax, [ebp - 0x370]
mov edx, 0x1c
call fcn.0040584c
lea eax, [ebp - 0x300]
mov edx, dword [0x415e2c]
call fcn.00407120
lea eax, [ebp - 0x2e0]
mov edx, 0x14
call fcn.0040584c
lea eax, [ebp - 0x290]
call fcn.00408714
lea eax, [ebp - 0x18]
call fcn.00408714
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0040584c
lea eax, [ebp - 4]
mov edx, dword [0x44e6b8]
call fcn.00407f38
ret