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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xb3
push 0
push 0
dec ecx
jne 0x45e7ac
push ecx
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x45fa9b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x1a0], 0
jne 0x45e800
mov dl, 1
mov eax, dword [0x43b508]
call fcn.00443718
mov ebx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x1c]
add eax, 0x1a0
mov edx, ebx
test edx, edx
je 0x45e7fb
sub edx, 0xffffffc0
call fcn.004087bc
mov eax, esi
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x1a0]
call fcn.004087bc
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x1c4], 0
je 0x45f96b
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x1a0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x45f96b
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x1a0]
call fcn.004087bc
lea eax, [ebp - 0x49c]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x1a0]
mov ecx, 0x45faac
call fcn.004087e8
mov eax, dword [ebp - 0x49c]
mov edx, dword [eax]
call dword [edx + 0x18]
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x45e9d0
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4a4]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x224]
mov cx, 0x30
mov edx, 4
call fcn.0040d480
push dword [ebp - 0x4a4]
push 0x45fac8
lea eax, [ebp - 0x4a8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x226]
mov cx, 0x30
mov edx, 2
call fcn.0040d480
push dword [ebp - 0x4a8]
push 0x45fac8
lea eax, [ebp - 0x4ac]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x22a]
mov cx, 0x30
mov edx, 2
call fcn.0040d480
push dword [ebp - 0x4ac]
push 0x45fad8
lea eax, [ebp - 0x4b0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x22c]
mov cx, 0x30
mov edx, 2
call fcn.0040d480
push dword [ebp - 0x4b0]
push 0x45faec
lea eax, [ebp - 0x4b4]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x22e]
mov cx, 0x30
mov edx, 2
call fcn.0040d480
push dword [ebp - 0x4b4]
push 0x45faec
lea eax, [ebp - 0x4b8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x230]
mov cx, 0x30
mov edx, 2
call fcn.0040d480
push dword [ebp - 0x4b8]
push 0x45fad8
lea eax, [ebp - 0x4bc]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x232]
mov cx, 0x30
mov edx, 1
call fcn.0040d480
push dword [ebp - 0x4bc]
push 0x45fafc
lea eax, [ebp - 0x4a0]
mov edx, 0xe
call fcn.00406b7c
mov edx, dword [ebp - 0x4a0]
mov eax, 0x45fb10
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45e9da
xor eax, eax
push ebp
push 0x45ea0f
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c0]
call fcn.00434d30
mov edx, dword [ebp - 0x4c0]
mov eax, 0x45fb30
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ea19
xor eax, eax
push ebp
push 0x45ea4e
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c4]
call fcn.0045d04c
mov edx, dword [ebp - 0x4c4]
mov eax, 0x45fb58
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ea58
xor eax, eax
push ebp
push 0x45eaf7
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x20], 0x104
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
jne 0x45ea9e
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x236]
push eax
call sub.advapi32.dll_GetUserNameW
lea eax, [ebp - 0x10]
lea edx, [ebp - 0x236]
mov ecx, 0x105
call fcn.004068d8
jmp 0x45eac8
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x236]
push eax
call sub.advapi32.dll_GetUserNameA
lea eax, [ebp - 0x10]
lea edx, [ebp - 0x236]
mov dword [ebp - 0x4c8], edx
mov edx, dword [ebp - 0x4c8]
call fcn.004068f4
call fcn.0045cf8c
test al, al
je 0x45eade
lea eax, [ebp - 0x10]
mov edx, 0x45fb84
call fcn.00406a2c
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x45fba4
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45eb01
xor eax, eax
push ebp
push 0x45ebe8
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
jne 0x45eb2a
lea eax, [ebp - 0x10]
mov edx, 0x45fbc4
call fcn.0040672c
jmp 0x45eb34
lea eax, [ebp - 0x10]
xor edx, edx
call fcn.0040672c
lea eax, [ebp - 0x14]
push eax
push 0x45fbd8
push dword [ebp - 0x10]
push 0x45fc1c
lea eax, [ebp - 0x4cc]
mov edx, 3
call fcn.00406b7c
mov edx, dword [ebp - 0x4cc]
mov ecx, 0x45fc48
mov eax, 0x80000002
call fcn.00434de4
lea eax, [ebp - 0x4d0]
push eax
push 0x45fbd8
push dword [ebp - 0x10]
push 0x45fc1c
lea eax, [ebp - 0x4d4]
mov edx, 3
call fcn.00406b7c
mov edx, dword [ebp - 0x4d4]
mov ecx, 0x45fc84
mov eax, 0x80000002
call fcn.00434de4
mov edx, dword [ebp - 0x4d0]
lea eax, [ebp - 0x10]
call fcn.0040672c
cmp dword [ebp - 0x14], 0
je 0x45ebcf
push dword [ebp - 0x10]
push 0x45fcb0
push dword [ebp - 0x14]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00406b7c
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x45fcc4
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ebf2
xor eax, eax
push ebp
push 0x45ec27
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4d8]
call fcn.0045d408
mov edx, dword [ebp - 0x4d8]
mov eax, 0x45fcf4
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ec31
xor eax, eax
push ebp
push 0x45ec66
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4dc]
call fcn.0045d4c0
mov edx, dword [ebp - 0x4dc]
mov eax, 0x45fd24
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ec70
xor eax, eax
push ebp
push 0x45eca5
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e0]
call fcn.0045d594
mov edx, dword [ebp - 0x4e0]
mov eax, 0x45fd50
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ecaf
xor eax, eax
push ebp
push 0x45ece4
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e4]
call fcn.0045d5f0
mov edx, dword [ebp - 0x4e4]
mov eax, 0x45fd7c
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ecee
xor eax, eax
push ebp
push 0x45ed7b
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
call fcn.0045d704
cmp dword [ebp - 0x10], 0
je 0x45ed71
call fcn.0045d808
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jne 0x45ed29
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x45fda8
call fcn.0045e700
pop ecx
jmp 0x45ed71
push ebp
lea eax, [ebp - 0x4ec]
push eax
mov cx, 0x30
mov edx, 1
mov eax, dword [ebp - 0x24]
call fcn.0040d384
push dword [ebp - 0x4ec]
push 0x45fdc8
push dword [ebp - 0x10]
lea eax, [ebp - 0x4e8]
mov edx, 3
call fcn.00406b7c
mov edx, dword [ebp - 0x4e8]
mov eax, 0x45fddc
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ed85
xor eax, eax
push ebp
push 0x45edba
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f0]
call fcn.0045d93c
mov edx, dword [ebp - 0x4f0]
mov eax, 0x45fe00
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45edc4
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
je 0x45ee0f
xor eax, eax
push ebp
push 0x45ee05
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f4]
call fcn.0045dad0
mov edx, dword [ebp - 0x4f4]
mov eax, 0x45fe2c
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ee0f
xor eax, eax
push ebp
push 0x45ef54
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x45fe50
push 0x45fe78
call sub.kernel32.dll_GetModuleHandleW_2
push eax
call fcn.00409750
mov dword [ebp - 8], eax
push 0x104
lea eax, [ebp - 0x236]
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.00434544
lea eax, [ebp - 0x10]
call fcn.00405b64
movzx eax, byte [eax]
mov ebx, dword [0x5573a8]
mov ebx, dword [ebx]
call ebx
mov ebx, eax
mov esi, dword [0x5573a8]
mov esi, dword [esi]
lea eax, [ebp - 0x236]
movzx eax, byte [eax]
call esi
cmp bl, al
je 0x45ef0c
push ebp
push ebp
lea eax, [ebp - 0x500]
lea edx, [ebp - 0x236]
movzx edx, byte [edx]
mov ecx, 0
call fcn.00405c28
mov eax, dword [ebp - 0x500]
lea edx, [ebp - 0x4fc]
call fcn.0045e56c
pop ecx
push dword [ebp - 0x4fc]
push 0x45fea0
push ebp
lea eax, [ebp - 0x508]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edx]
mov ecx, 0
call fcn.00405c28
mov eax, dword [ebp - 0x508]
lea edx, [ebp - 0x504]
call fcn.0045e56c
pop ecx
push dword [ebp - 0x504]
lea eax, [ebp - 0x4f8]
mov edx, 3
call fcn.00406b7c
mov edx, dword [ebp - 0x4f8]
mov eax, 0x45feb0
call fcn.0045e700
pop ecx
jmp 0x45ef4a
push ebp
push ebp
lea eax, [ebp - 0x510]
lea edx, [ebp - 0x236]
movzx edx, byte [edx]
mov ecx, 0
call fcn.00405c28
mov eax, dword [ebp - 0x510]
lea edx, [ebp - 0x50c]
call fcn.0045e56c
pop ecx
mov edx, dword [ebp - 0x50c]
mov eax, 0x45feb0
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ef5e
xor eax, eax
push ebp
push 0x45ef93
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x514]
call fcn.0045db9c
mov edx, dword [ebp - 0x514]
mov eax, 0x45fedc
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ef9d
xor eax, eax
push ebp
push 0x45efe1
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x518]
push eax
call sub.kernel32.dll_GetCurrentProcessId
mov cx, 0x30
mov edx, 1
call fcn.0040d510
mov edx, dword [ebp - 0x518]
mov eax, 0x45ff04
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45efeb
xor eax, eax
push ebp
push 0x45f020
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x51c]
call fcn.0045dd84
mov edx, dword [ebp - 0x51c]
mov eax, 0x45ff28
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f02a
xor eax, eax
push ebp
push 0x45f05f
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x520]
call fcn.0045dda8
mov edx, dword [ebp - 0x520]
mov eax, 0x45ff58
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f069
xor eax, eax
push ebp
push 0x45f0ff
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x54c550], 0
je 0x45f0f5
call fcn.004033f8
test eax, eax
jle 0x45f0f5
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
jne 0x45f0bb
push ebp
call sub.kernel32.dll_GetCommandLineW_1
mov edx, eax
lea eax, [ebp - 0x524]
call fcn.00406884
mov edx, dword [ebp - 0x524]
mov eax, 0x45ff8c
call fcn.0045e700
pop ecx
jmp 0x45f0f5
push ebp
call sub.kernel32.dll_GetCommandLineA
mov edx, eax
lea eax, [ebp - 0x52c]
mov ecx, 0
call fcn.00405c38
mov edx, dword [ebp - 0x52c]
lea eax, [ebp - 0x528]
call fcn.004068f4
mov edx, dword [ebp - 0x528]
mov eax, 0x45ff8c
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f109
xor eax, eax
push ebp
push 0x45f151
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea edx, [ebp - 0x534]
xor eax, eax
call fcn.00434544
mov eax, dword [ebp - 0x534]
lea edx, [ebp - 0x530]
call fcn.0040ebcc
mov edx, dword [ebp - 0x530]
mov eax, 0x45ffb4
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f15b
xor eax, eax
push ebp
push 0x45f1b5
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.kernel32.dll_GetModuleHandleW_2
cmp eax, dword [0x54c66c]
je 0x45f1ab
push ebp
lea edx, [ebp - 0x53c]
mov eax, dword [0x54c66c]
call fcn.00434544
mov eax, dword [ebp - 0x53c]
lea edx, [ebp - 0x538]
call fcn.0040ebcc
mov edx, dword [ebp - 0x538]
mov eax, 0x45ffd8
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f1bf
xor edx, edx
push ebp
push 0x45f437
push dword fs:[edx]
mov dword fs:[edx], esp
cmp byte [0x54c678], 0
je 0x45f1e2
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.00434544
jmp 0x45f1ef
lea edx, [ebp - 0x10]
mov eax, dword [0x54c66c]
call fcn.00434544
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
jne 0x45f212
lea eax, [ebp - 0x488]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00406764
push eax
call sub.kernel32.dll_FindFirstFileW_1
jmp 0x45f23d
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x540]
mov edx, dword [ebp - 0x10]
mov ecx, 0
call fcn.0040691c
mov eax, dword [ebp - 0x540]
call fcn.00406040
push eax
call sub.kernel32.dll_FindFirstFileA
cmp eax, 0xffffffff
je 0x45f42d
push eax
call sub.kernel32.dll_FindClose_1
xor eax, eax
push ebp
push 0x45f3b9
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x474]
push eax
lea eax, [ebp - 0x474]
push eax
call sub.kernel32.dll_FileTimeToLocalFileTime
lea eax, [ebp - 0x498]
push eax
lea eax, [ebp - 0x474]
push eax
call sub.kernel32.dll_FileTimeToSystemTime
cmp byte [0x54c678], 0
jne 0x45f298
push 0
call sub.kernel32.dll_GetModuleHandleW_2
cmp eax, dword [0x54c66c]
jne 0x45f2a7
lea eax, [ebp - 0x14]
mov edx, 0x460004
call fcn.0040672c
jmp 0x45f2b4
lea eax, [ebp - 0x14]
mov edx, 0x46001c
call fcn.0040672c
push ebp
lea eax, [ebp - 0x548]
push eax
movzx eax, word [ebp - 0x498]
mov cx, 0x30
mov edx, 4
call fcn.0040d480
push dword [ebp - 0x548]
push 0x45fac8
lea eax, [ebp - 0x54c]
push eax
movzx eax, word [ebp - 0x496]
mov cx, 0x30
mov edx, 2
call fcn.0040d480
push dword [ebp - 0x54c]
push 0x45fac8
lea eax, [ebp - 0x550]
push eax
movzx eax, word [ebp - 0x492]
mov cx, 0x30
mov edx, 2
call fcn.0040d480
push dword [ebp - 0x550]
push 0x45fea0
lea eax, [ebp - 0x554]
push eax
movzx eax, word [ebp - 0x490]
mov cx, 0x30
mov edx, 2
call fcn.0040d480
push dword [ebp - 0x554]
push 0x45faec
lea eax, [ebp - 0x558]
push eax
movzx eax, word [ebp - 0x48e]
mov cx, 0x30
mov edx, 2
call fcn.0040d480
push dword [ebp - 0x558]
push 0x460038
lea eax, [ebp - 0x544]
mov edx, 0xa
call fcn.00406b7c
mov eax, dword [ebp - 0x544]
push eax
lea eax, [ebp - 0x55c]
mov ecx, 0x46004c
mov edx, dword [ebp - 0x14]
call fcn.00406aac
mov eax, dword [ebp - 0x55c]
pop edx
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f3c3
lea edx, [ebp - 0x560]
mov eax, dword [ebp - 0x1c]
call fcn.0043fcd0
cmp dword [ebp - 0x560], 0
jne 0x45f40d
lea edx, [ebp - 0x564]
mov eax, dword [ebp - 0x10]
call fcn.00419090
mov edx, dword [ebp - 0x564]
lea eax, [ebp - 0x10]
call fcn.0040672c
cmp dword [ebp - 0x10], 0
je 0x45f42d
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x460070
call fcn.0045e700
pop ecx
jmp 0x45f42d
push ebp
lea edx, [ebp - 0x568]
mov eax, dword [ebp - 0x1c]
call fcn.0043fcd0
mov edx, dword [ebp - 0x568]
mov eax, 0x460070
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f441
xor eax, eax
push ebp
push 0x45f49e
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x460080
call sub.kernel32.dll_GetModuleHandleW_2
mov ebx, eax
test ebx, ebx
je 0x45f494
lea edx, [ebp - 0x56c]
mov eax, ebx
call fcn.00434544
mov eax, dword [ebp - 0x56c]
mov ebx, dword [0x557088]
mov ebx, dword [ebx]
lea edx, [ebp - 0x10]
call ebx
cmp dword [ebp - 0x10], 0
je 0x45f494
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x4600a4
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f4a8
xor eax, eax
push ebp
push 0x45f560
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x45f502
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x54c66c]
call fcn.00419e1c
cmp byte [eax + 0x1a], 2
je 0x45f4e7
push ebp
mov edx, 0x4600c8
mov eax, 0x4600e8
call fcn.0045e700
pop ecx
jmp 0x45f4f8
push ebp
mov edx, 0x460110
mov eax, 0x4600e8
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f51d
push ebp
lea eax, [ebp - 0x574]
mov edx, dword [0x54c540]
mov ecx, 0
call fcn.00405c38
mov edx, dword [ebp - 0x574]
lea eax, [ebp - 0x570]
call fcn.004068f4
mov edx, dword [ebp - 0x570]
mov eax, 0x460134
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f56a
lea ecx, [ebp - 0x14]
mov edx, 0x460164
mov eax, dword [ebp - 0x1c]
call fcn.004420e0
mov ebx, dword [0x557330]
mov ebx, dword [ebx]
mov dl, 0x7c
mov eax, dword [ebp - 0x14]
call ebx
test eax, eax
jle 0x45f743
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 1
xor eax, eax
push ebp
push 0x45f72d
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
push eax
mov ebx, dword [0x5573f8]
mov ebx, dword [ebx]
mov cl, 0x7c
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
call ebx
mov eax, dword [0x55bcb0]
call fcn.00407ce8
mov ebx, eax
test ebx, ebx
jl 0x45f723
inc ebx
mov dword [ebp - 0x28], 0
mov esi, dword [ebp - 0x28]
mov eax, esi
add esi, esi
add esi, esi
add esi, esi
sub esi, eax
mov eax, dword [0x55bcb0]
mov eax, dword [eax + esi*4]
mov edi, dword [0x556e80]
mov edi, dword [edi]
mov edx, dword [ebp - 0x10]
call edi
test al, al
je 0x45f719
mov eax, dword [0x55bcb0]
cmp byte [eax + esi*4 + 0x18], 0
jne 0x45f723
mov eax, dword [0x55bcb0]
cmp dword [eax + esi*4 + 8], 0
je 0x45f65d
push ebp
mov eax, dword [0x55bcb0]
mov ebx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x57c]
call ebx
mov edx, dword [ebp - 0x57c]
lea eax, [ebp - 0x578]
call fcn.004068f4
mov edx, dword [ebp - 0x578]
mov eax, dword [0x55bcb0]
mov eax, dword [eax + esi*4]
call fcn.0045e700
pop ecx
jmp 0x45f723
mov eax, dword [0x55bcb0]
cmp dword [eax + esi*4 + 0xc], 0
je 0x45f694
push ebp
mov eax, dword [0x55bcb0]
mov ebx, dword [eax + esi*4 + 0xc]
lea eax, [ebp - 0x580]
call ebx
mov edx, dword [ebp - 0x580]
mov eax, dword [0x55bcb0]
mov eax, dword [eax + esi*4]
call fcn.0045e700
pop ecx
jmp 0x45f723
mov eax, dword [0x55bcb0]
cmp dword [eax + esi*4 + 0x10], 0
je 0x45f6e5
push ebp
mov eax, dword [0x55bcb0]
mov ebx, dword [eax + esi*4 + 0x10]
lea edx, [ebp - 0x588]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x45f6bc
sub eax, 0xfffffdc0
call ebx
mov edx, dword [ebp - 0x588]
lea eax, [ebp - 0x584]
call fcn.004068f4
mov edx, dword [ebp - 0x584]
mov eax, dword [0x55bcb0]
mov eax, dword [eax + esi*4]
call fcn.0045e700
pop ecx
jmp 0x45f723
push ebp
mov eax, dword [0x55bcb0]
mov ebx, dword [eax + esi*4 + 0x14]
lea edx, [ebp - 0x58c]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x45f701
sub eax, 0xfffffdc0
call ebx
mov edx, dword [ebp - 0x58c]
mov eax, dword [0x55bcb0]
mov eax, dword [eax + esi*4]
call fcn.0045e700
pop ecx
jmp 0x45f723
inc dword [ebp - 0x28]
dec ebx
jne 0x45f5db
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f737
inc dword [ebp - 0x24]
dec dword [ebp - 0x2c]
jne 0x45f59b
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x45f773
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov edx, 0x460178
mov eax, 0x4601b4
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f77d
xor eax, eax
push ebp
push 0x45f7d5
push dword fs:[eax]
mov dword fs:[eax], esp
add dword [0x54cfdc], 1
adc dword [0x54cfe0], 0
push ebp
push dword [0x54cfe0]
push dword [0x54cfdc]
lea ecx, [ebp - 0x590]
mov dx, 0x30
mov eax, 1
call fcn.0040d4cc
mov edx, dword [ebp - 0x590]
mov eax, 0x4601dc
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f7df
xor eax, eax
push ebp
push 0x45f8d2
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x4f], 1
je 0x45f8a8
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.0045e370
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.0045e2d0
push ebp
mov edx, dword [ebp - 0x14]
mov eax, 0x46020c
call fcn.0045e700
pop ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.00406d24
je 0x45f8c8
lea edx, [ebp - 0x594]
mov eax, dword [ebp - 0x10]
call fcn.00437770
mov edx, dword [ebp - 0x594]
lea eax, [ebp - 0x10]
call fcn.0040672c
push 0
mov ebx, dword [0x557140]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x45fea0
mov edx, 0x460238
call ebx
push 0
mov ebx, dword [0x557140]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x45fea0
mov edx, 0x460248
call ebx
push 1
mov ebx, dword [0x557140]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x45fea0
mov edx, 0x460258
call ebx
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x46026c
call fcn.0045e700
pop ecx
jmp 0x45f8c8
push ebp
lea edx, [ebp - 0x598]
mov eax, dword [ebp - 0x1c]
call fcn.0043fd44
mov edx, dword [ebp - 0x598]
mov eax, 0x46026c
call fcn.0045e700
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f8dc
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0xc]
xor eax, eax
push ebp
push 0x45f959
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
dec eax
test eax, eax
jl 0x45f928
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x24]
mov ecx, dword [eax + edx*8 + 4]
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x24]
mov edx, dword [eax + edx*8]
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x28]
inc dword [ebp - 0x24]
dec dword [ebp - 0x2c]
jne 0x45f905
lea eax, [ebp - 0x59c]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x1a0]
mov ecx, 0x45faac
call fcn.004087e8
mov eax, dword [ebp - 0x59c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x14]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f963
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 0x45faa5
lea eax, [ebp - 0x59c]
call fcn.004087a4
lea eax, [ebp - 0x598]
mov edx, 4
call fcn.004066d0
lea eax, [ebp - 0x588]
call fcn.00405984
lea eax, [ebp - 0x584]
mov edx, 2
call fcn.004066d0
lea eax, [ebp - 0x57c]
call fcn.00405984
lea eax, [ebp - 0x578]
call fcn.004066c8
lea eax, [ebp - 0x574]
call fcn.00405984
lea eax, [ebp - 0x570]
mov edx, 0xc
call fcn.004066d0
lea eax, [ebp - 0x540]
call fcn.00405984
lea eax, [ebp - 0x53c]
mov edx, 4
call fcn.004066d0
lea eax, [ebp - 0x52c]
call fcn.00405984
lea eax, [ebp - 0x528]
mov edx, 6
call fcn.004066d0
lea eax, [ebp - 0x510]
call fcn.00405984
lea eax, [ebp - 0x50c]
call fcn.004066c8
lea eax, [ebp - 0x508]
call fcn.00405984
lea eax, [ebp - 0x504]
call fcn.004066c8
lea eax, [ebp - 0x500]
call fcn.00405984
lea eax, [ebp - 0x4fc]
mov edx, 0xd
call fcn.004066d0
lea eax, [ebp - 0x4c4]
mov edx, 0xa
call fcn.004066d0
lea eax, [ebp - 0x49c]
call fcn.004087a4
lea eax, [ebp - 0x18]
call fcn.004087a4
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004066d0
lea eax, [ebp - 4]
mov edx, dword [0x45e538]
call fcn.00407fc8
ret