Function at 0x45f478
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 0x45f480
push ecx
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x46076f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x1a0], 0
jne 0x45f4d4
mov dl, 1
mov eax, dword [0x43c0ac]
call fcn.004442bc
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 0x45f4cf
sub edx, 0xffffffc0
call fcn.00408d54
mov eax, esi
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x1a0]
call fcn.00408d54
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x1c4], 0
je 0x46063f
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x1a0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x46063f
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x1a0]
call fcn.00408d54
lea eax, [ebp - 0x49c]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x1a0]
mov ecx, 0x460780
call fcn.00408d80
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 0x45f6a4
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.0040dc78
push dword [ebp - 0x4a4]
push 0x46079c
lea eax, [ebp - 0x4a8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x226]
mov cx, 0x30
mov edx, 2
call fcn.0040dc78
push dword [ebp - 0x4a8]
push 0x46079c
lea eax, [ebp - 0x4ac]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x22a]
mov cx, 0x30
mov edx, 2
call fcn.0040dc78
push dword [ebp - 0x4ac]
push 0x4607ac
lea eax, [ebp - 0x4b0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x22c]
mov cx, 0x30
mov edx, 2
call fcn.0040dc78
push dword [ebp - 0x4b0]
push 0x4607c0
lea eax, [ebp - 0x4b4]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x22e]
mov cx, 0x30
mov edx, 2
call fcn.0040dc78
push dword [ebp - 0x4b4]
push 0x4607c0
lea eax, [ebp - 0x4b8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x230]
mov cx, 0x30
mov edx, 2
call fcn.0040dc78
push dword [ebp - 0x4b8]
push 0x4607ac
lea eax, [ebp - 0x4bc]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x232]
mov cx, 0x30
mov edx, 1
call fcn.0040dc78
push dword [ebp - 0x4bc]
push 0x4607d0
lea eax, [ebp - 0x4a0]
mov edx, 0xe
call fcn.00406f68
mov edx, dword [ebp - 0x4a0]
mov eax, 0x4607e4
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f6ae
xor eax, eax
push ebp
push 0x45f6e3
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c0]
call fcn.004358d4
mov edx, dword [ebp - 0x4c0]
mov eax, 0x460804
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f6ed
xor eax, eax
push ebp
push 0x45f722
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c4]
call fcn.0045dd20
mov edx, dword [ebp - 0x4c4]
mov eax, 0x46082c
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f72c
xor eax, eax
push ebp
push 0x45f7cb
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x20], 0x104
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
jne 0x45f772
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.00406bb0
jmp 0x45f79c
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.00406bcc
call fcn.0045dc60
test al, al
je 0x45f7b2
lea eax, [ebp - 0x10]
mov edx, 0x460858
call fcn.00406dc4
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x460878
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f7d5
xor eax, eax
push ebp
push 0x45f8bc
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
jne 0x45f7fe
lea eax, [ebp - 0x10]
mov edx, 0x460898
call fcn.00406a04
jmp 0x45f808
lea eax, [ebp - 0x10]
xor edx, edx
call fcn.00406a04
lea eax, [ebp - 0x14]
push eax
push 0x4608ac
push dword [ebp - 0x10]
push 0x4608f0
lea eax, [ebp - 0x4cc]
mov edx, 3
call fcn.00406f68
mov edx, dword [ebp - 0x4cc]
mov ecx, 0x46091c
mov eax, 0x80000002
call fcn.00435988
lea eax, [ebp - 0x4d0]
push eax
push 0x4608ac
push dword [ebp - 0x10]
push 0x4608f0
lea eax, [ebp - 0x4d4]
mov edx, 3
call fcn.00406f68
mov edx, dword [ebp - 0x4d4]
mov ecx, 0x460958
mov eax, 0x80000002
call fcn.00435988
mov edx, dword [ebp - 0x4d0]
lea eax, [ebp - 0x10]
call fcn.00406a04
cmp dword [ebp - 0x14], 0
je 0x45f8a3
push dword [ebp - 0x10]
push 0x460984
push dword [ebp - 0x14]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00406f68
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x460998
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f8c6
xor eax, eax
push ebp
push 0x45f8fb
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4d8]
call fcn.0045e0dc
mov edx, dword [ebp - 0x4d8]
mov eax, 0x4609c8
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f905
xor eax, eax
push ebp
push 0x45f93a
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4dc]
call fcn.0045e194
mov edx, dword [ebp - 0x4dc]
mov eax, 0x4609f8
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f944
xor eax, eax
push ebp
push 0x45f979
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e0]
call fcn.0045e268
mov edx, dword [ebp - 0x4e0]
mov eax, 0x460a24
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f983
xor eax, eax
push ebp
push 0x45f9b8
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e4]
call fcn.0045e2c4
mov edx, dword [ebp - 0x4e4]
mov eax, 0x460a50
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45f9c2
xor eax, eax
push ebp
push 0x45fa4f
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
call fcn.0045e3d8
cmp dword [ebp - 0x10], 0
je 0x45fa45
call fcn.0045e4dc
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jne 0x45f9fd
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x460a7c
call fcn.0045f3d4
pop ecx
jmp 0x45fa45
push ebp
lea eax, [ebp - 0x4ec]
push eax
mov cx, 0x30
mov edx, 1
mov eax, dword [ebp - 0x24]
call fcn.0040db7c
push dword [ebp - 0x4ec]
push 0x460a9c
push dword [ebp - 0x10]
lea eax, [ebp - 0x4e8]
mov edx, 3
call fcn.00406f68
mov edx, dword [ebp - 0x4e8]
mov eax, 0x460ab0
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45fa59
xor eax, eax
push ebp
push 0x45fa8e
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f0]
call fcn.0045e610
mov edx, dword [ebp - 0x4f0]
mov eax, 0x460ad4
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45fa98
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
je 0x45fae3
xor eax, eax
push ebp
push 0x45fad9
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f4]
call fcn.0045e7a4
mov edx, dword [ebp - 0x4f4]
mov eax, 0x460b00
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45fae3
xor eax, eax
push ebp
push 0x45fc28
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x460b24
push 0x460b4c
call sub.kernel32.dll_GetModuleHandleW_2
push eax
call fcn.00409db4
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.004350e8
lea eax, [ebp - 0x10]
call fcn.00405c14
movzx eax, byte [eax]
mov ebx, dword [0x62fac8]
mov ebx, dword [ebx]
call ebx
mov ebx, eax
mov esi, dword [0x62fac8]
mov esi, dword [esi]
lea eax, [ebp - 0x236]
movzx eax, byte [eax]
call esi
cmp bl, al
je 0x45fbe0
push ebp
push ebp
lea eax, [ebp - 0x500]
lea edx, [ebp - 0x236]
movzx edx, byte [edx]
mov ecx, 0
call fcn.00405cec
mov eax, dword [ebp - 0x500]
lea edx, [ebp - 0x4fc]
call fcn.0045f240
pop ecx
push dword [ebp - 0x4fc]
push 0x460b74
push ebp
lea eax, [ebp - 0x508]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edx]
mov ecx, 0
call fcn.00405cec
mov eax, dword [ebp - 0x508]
lea edx, [ebp - 0x504]
call fcn.0045f240
pop ecx
push dword [ebp - 0x504]
lea eax, [ebp - 0x4f8]
mov edx, 3
call fcn.00406f68
mov edx, dword [ebp - 0x4f8]
mov eax, 0x460b84
call fcn.0045f3d4
pop ecx
jmp 0x45fc1e
push ebp
push ebp
lea eax, [ebp - 0x510]
lea edx, [ebp - 0x236]
movzx edx, byte [edx]
mov ecx, 0
call fcn.00405cec
mov eax, dword [ebp - 0x510]
lea edx, [ebp - 0x50c]
call fcn.0045f240
pop ecx
mov edx, dword [ebp - 0x50c]
mov eax, 0x460b84
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45fc32
xor eax, eax
push ebp
push 0x45fc67
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x514]
call fcn.0045e870
mov edx, dword [ebp - 0x514]
mov eax, 0x460bb0
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45fc71
xor eax, eax
push ebp
push 0x45fcb5
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.0040dd08
mov edx, dword [ebp - 0x518]
mov eax, 0x460bd8
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45fcbf
xor eax, eax
push ebp
push 0x45fcf4
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x51c]
call fcn.0045ea58
mov edx, dword [ebp - 0x51c]
mov eax, 0x460bfc
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45fcfe
xor eax, eax
push ebp
push 0x45fd33
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x520]
call fcn.0045ea7c
mov edx, dword [ebp - 0x520]
mov eax, 0x460c2c
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45fd3d
xor eax, eax
push ebp
push 0x45fdd3
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x619554], 0
je 0x45fdc9
call fcn.00403450
test eax, eax
jle 0x45fdc9
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
jne 0x45fd8f
push ebp
call sub.kernel32.dll_GetCommandLineW_1
mov edx, eax
lea eax, [ebp - 0x524]
call fcn.00406b5c
mov edx, dword [ebp - 0x524]
mov eax, 0x460c60
call fcn.0045f3d4
pop ecx
jmp 0x45fdc9
push ebp
call sub.kernel32.dll_GetCommandLineA
mov edx, eax
lea eax, [ebp - 0x52c]
mov ecx, 0
call fcn.00405cfc
mov edx, dword [ebp - 0x52c]
lea eax, [ebp - 0x528]
call fcn.00406bcc
mov edx, dword [ebp - 0x528]
mov eax, 0x460c60
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45fddd
xor eax, eax
push ebp
push 0x45fe25
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea edx, [ebp - 0x534]
xor eax, eax
call fcn.004350e8
mov eax, dword [ebp - 0x534]
lea edx, [ebp - 0x530]
call fcn.0040f3c4
mov edx, dword [ebp - 0x530]
mov eax, 0x460c88
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45fe2f
xor eax, eax
push ebp
push 0x45fe89
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.kernel32.dll_GetModuleHandleW_2
cmp eax, dword [0x619670]
je 0x45fe7f
push ebp
lea edx, [ebp - 0x53c]
mov eax, dword [0x619670]
call fcn.004350e8
mov eax, dword [ebp - 0x53c]
lea edx, [ebp - 0x538]
call fcn.0040f3c4
mov edx, dword [ebp - 0x538]
mov eax, 0x460cac
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45fe93
xor edx, edx
push ebp
push 0x46010b
push dword fs:[edx]
mov dword fs:[edx], esp
cmp byte [0x61967c], 0
je 0x45feb6
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.004350e8
jmp 0x45fec3
lea edx, [ebp - 0x10]
mov eax, dword [0x619670]
call fcn.004350e8
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
jne 0x45fee6
lea eax, [ebp - 0x488]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00406a3c
push eax
call sub.kernel32.dll_FindFirstFileW_1
jmp 0x45ff11
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x540]
mov edx, dword [ebp - 0x10]
mov ecx, 0
call fcn.00406bf4
mov eax, dword [ebp - 0x540]
call fcn.004061d8
push eax
call sub.kernel32.dll_FindFirstFileA
cmp eax, 0xffffffff
je 0x460101
push eax
call sub.kernel32.dll_FindClose_1
xor eax, eax
push ebp
push 0x46008d
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 [0x61967c], 0
jne 0x45ff6c
push 0
call sub.kernel32.dll_GetModuleHandleW_2
cmp eax, dword [0x619670]
jne 0x45ff7b
lea eax, [ebp - 0x14]
mov edx, 0x460cd8
call fcn.00406a04
jmp 0x45ff88
lea eax, [ebp - 0x14]
mov edx, 0x460cf0
call fcn.00406a04
push ebp
lea eax, [ebp - 0x548]
push eax
movzx eax, word [ebp - 0x498]
mov cx, 0x30
mov edx, 4
call fcn.0040dc78
push dword [ebp - 0x548]
push 0x46079c
lea eax, [ebp - 0x54c]
push eax
movzx eax, word [ebp - 0x496]
mov cx, 0x30
mov edx, 2
call fcn.0040dc78
push dword [ebp - 0x54c]
push 0x46079c
lea eax, [ebp - 0x550]
push eax
movzx eax, word [ebp - 0x492]
mov cx, 0x30
mov edx, 2
call fcn.0040dc78
push dword [ebp - 0x550]
push 0x460b74
lea eax, [ebp - 0x554]
push eax
movzx eax, word [ebp - 0x490]
mov cx, 0x30
mov edx, 2
call fcn.0040dc78
push dword [ebp - 0x554]
push 0x4607c0
lea eax, [ebp - 0x558]
push eax
movzx eax, word [ebp - 0x48e]
mov cx, 0x30
mov edx, 2
call fcn.0040dc78
push dword [ebp - 0x558]
push 0x460d0c
lea eax, [ebp - 0x544]
mov edx, 0xa
call fcn.00406f68
mov eax, dword [ebp - 0x544]
push eax
lea eax, [ebp - 0x55c]
mov ecx, 0x460d20
mov edx, dword [ebp - 0x14]
call fcn.00406e84
mov eax, dword [ebp - 0x55c]
pop edx
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460097
lea edx, [ebp - 0x560]
mov eax, dword [ebp - 0x1c]
call fcn.00440874
cmp dword [ebp - 0x560], 0
jne 0x4600e1
lea edx, [ebp - 0x564]
mov eax, dword [ebp - 0x10]
call fcn.004198e4
mov edx, dword [ebp - 0x564]
lea eax, [ebp - 0x10]
call fcn.00406a04
cmp dword [ebp - 0x10], 0
je 0x460101
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x460d44
call fcn.0045f3d4
pop ecx
jmp 0x460101
push ebp
lea edx, [ebp - 0x568]
mov eax, dword [ebp - 0x1c]
call fcn.00440874
mov edx, dword [ebp - 0x568]
mov eax, 0x460d44
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460115
xor eax, eax
push ebp
push 0x460172
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x460d54
call sub.kernel32.dll_GetModuleHandleW_2
mov ebx, eax
test ebx, ebx
je 0x460168
lea edx, [ebp - 0x56c]
mov eax, ebx
call fcn.004350e8
mov eax, dword [ebp - 0x56c]
mov ebx, dword [0x62f5a0]
mov ebx, dword [ebx]
lea edx, [ebp - 0x10]
call ebx
cmp dword [ebp - 0x10], 0
je 0x460168
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x460d78
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46017c
xor eax, eax
push ebp
push 0x460234
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x4601d6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x619670]
call fcn.0041a670
cmp byte [eax + 0x1a], 2
je 0x4601bb
push ebp
mov edx, 0x460d9c
mov eax, 0x460dbc
call fcn.0045f3d4
pop ecx
jmp 0x4601cc
push ebp
mov edx, 0x460de4
mov eax, 0x460dbc
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4601f1
push ebp
lea eax, [ebp - 0x574]
mov edx, dword [0x619544]
mov ecx, 0
call fcn.00405cfc
mov edx, dword [ebp - 0x574]
lea eax, [ebp - 0x570]
call fcn.00406bcc
mov edx, dword [ebp - 0x570]
mov eax, 0x460e08
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46023e
lea ecx, [ebp - 0x14]
mov edx, 0x460e38
mov eax, dword [ebp - 0x1c]
call fcn.00442c84
mov ebx, dword [0x62fa0c]
mov ebx, dword [ebx]
mov dl, 0x7c
mov eax, dword [ebp - 0x14]
call ebx
test eax, eax
jle 0x460417
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 1
xor eax, eax
push ebp
push 0x460401
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
push eax
mov ebx, dword [0x62fb30]
mov ebx, dword [ebx]
mov cl, 0x7c
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
call ebx
mov eax, dword [0x633cec]
call fcn.00408280
mov ebx, eax
test ebx, ebx
jl 0x4603f7
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 [0x633cec]
mov eax, dword [eax + esi*4]
mov edi, dword [0x62f290]
mov edi, dword [edi]
mov edx, dword [ebp - 0x10]
call edi
test al, al
je 0x4603ed
mov eax, dword [0x633cec]
cmp byte [eax + esi*4 + 0x18], 0
jne 0x4603f7
mov eax, dword [0x633cec]
cmp dword [eax + esi*4 + 8], 0
je 0x460331
push ebp
mov eax, dword [0x633cec]
mov ebx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x57c]
call ebx
mov edx, dword [ebp - 0x57c]
lea eax, [ebp - 0x578]
call fcn.00406bcc
mov edx, dword [ebp - 0x578]
mov eax, dword [0x633cec]
mov eax, dword [eax + esi*4]
call fcn.0045f3d4
pop ecx
jmp 0x4603f7
mov eax, dword [0x633cec]
cmp dword [eax + esi*4 + 0xc], 0
je 0x460368
push ebp
mov eax, dword [0x633cec]
mov ebx, dword [eax + esi*4 + 0xc]
lea eax, [ebp - 0x580]
call ebx
mov edx, dword [ebp - 0x580]
mov eax, dword [0x633cec]
mov eax, dword [eax + esi*4]
call fcn.0045f3d4
pop ecx
jmp 0x4603f7
mov eax, dword [0x633cec]
cmp dword [eax + esi*4 + 0x10], 0
je 0x4603b9
push ebp
mov eax, dword [0x633cec]
mov ebx, dword [eax + esi*4 + 0x10]
lea edx, [ebp - 0x588]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x460390
sub eax, 0xfffffdc0
call ebx
mov edx, dword [ebp - 0x588]
lea eax, [ebp - 0x584]
call fcn.00406bcc
mov edx, dword [ebp - 0x584]
mov eax, dword [0x633cec]
mov eax, dword [eax + esi*4]
call fcn.0045f3d4
pop ecx
jmp 0x4603f7
push ebp
mov eax, dword [0x633cec]
mov ebx, dword [eax + esi*4 + 0x14]
lea edx, [ebp - 0x58c]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4603d5
sub eax, 0xfffffdc0
call ebx
mov edx, dword [ebp - 0x58c]
mov eax, dword [0x633cec]
mov eax, dword [eax + esi*4]
call fcn.0045f3d4
pop ecx
jmp 0x4603f7
inc dword [ebp - 0x28]
dec ebx
jne 0x4602af
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46040b
inc dword [ebp - 0x24]
dec dword [ebp - 0x2c]
jne 0x46026f
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x460447
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov edx, 0x460e4c
mov eax, 0x460e88
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460451
xor eax, eax
push ebp
push 0x4604a9
push dword fs:[eax]
mov dword fs:[eax], esp
add dword [0x619fe0], 1
adc dword [0x619fe4], 0
push ebp
push dword [0x619fe4]
push dword [0x619fe0]
lea ecx, [ebp - 0x590]
mov dx, 0x30
mov eax, 1
call fcn.0040dcc4
mov edx, dword [ebp - 0x590]
mov eax, 0x460eb0
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4604b3
xor eax, eax
push ebp
push 0x4605a6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x4f], 1
je 0x46057c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.0045f044
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.0045efa4
push ebp
mov edx, dword [ebp - 0x14]
mov eax, 0x460ee0
call fcn.0045f3d4
pop ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.00407154
je 0x46059c
lea edx, [ebp - 0x594]
mov eax, dword [ebp - 0x10]
call fcn.00438314
mov edx, dword [ebp - 0x594]
lea eax, [ebp - 0x10]
call fcn.00406a04
push 0
mov ebx, dword [0x62f6d8]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x460b74
mov edx, 0x460f0c
call ebx
push 0
mov ebx, dword [0x62f6d8]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x460b74
mov edx, 0x460f1c
call ebx
push 1
mov ebx, dword [0x62f6d8]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x460b74
mov edx, 0x460f2c
call ebx
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x460f40
call fcn.0045f3d4
pop ecx
jmp 0x46059c
push ebp
lea edx, [ebp - 0x598]
mov eax, dword [ebp - 0x1c]
call fcn.004408e8
mov edx, dword [ebp - 0x598]
mov eax, 0x460f40
call fcn.0045f3d4
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4605b0
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0xc]
xor eax, eax
push ebp
push 0x46062d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
dec eax
test eax, eax
jl 0x4605fc
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 0x4605d9
lea eax, [ebp - 0x59c]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x1a0]
mov ecx, 0x460780
call fcn.00408d80
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 0x460637
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 0x460779
lea eax, [ebp - 0x59c]
call fcn.00408d3c
lea eax, [ebp - 0x598]
mov edx, 4
call fcn.004069a8
lea eax, [ebp - 0x588]
call fcn.00405a18
lea eax, [ebp - 0x584]
mov edx, 2
call fcn.004069a8
lea eax, [ebp - 0x57c]
call fcn.00405a18
lea eax, [ebp - 0x578]
call fcn.004069a0
lea eax, [ebp - 0x574]
call fcn.00405a18
lea eax, [ebp - 0x570]
mov edx, 0xc
call fcn.004069a8
lea eax, [ebp - 0x540]
call fcn.00405a18
lea eax, [ebp - 0x53c]
mov edx, 4
call fcn.004069a8
lea eax, [ebp - 0x52c]
call fcn.00405a18
lea eax, [ebp - 0x528]
mov edx, 6
call fcn.004069a8
lea eax, [ebp - 0x510]
call fcn.00405a18
lea eax, [ebp - 0x50c]
call fcn.004069a0
lea eax, [ebp - 0x508]
call fcn.00405a18
lea eax, [ebp - 0x504]
call fcn.004069a0
lea eax, [ebp - 0x500]
call fcn.00405a18
lea eax, [ebp - 0x4fc]
mov edx, 0xd
call fcn.004069a8
lea eax, [ebp - 0x4c4]
mov edx, 0xa
call fcn.004069a8
lea eax, [ebp - 0x49c]
call fcn.00408d3c
lea eax, [ebp - 0x18]
call fcn.00408d3c
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004069a8
lea eax, [ebp - 4]
mov edx, dword [0x45f20c]
call fcn.00408560
ret