Function at 0x45fac4
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 0x45facc
push ecx
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x460dbb
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x1a0], 0
jne 0x45fb20
mov dl, 1
mov eax, dword [0x43c838]
call fcn.00444a48
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 0x45fb1b
sub edx, 0xffffffc0
call fcn.00408e00
mov eax, esi
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x1a0]
call fcn.00408e00
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x1c4], 0
je 0x460c8b
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x1a0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x460c8b
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x1a0]
call fcn.00408e00
lea eax, [ebp - 0x49c]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x1a0]
mov ecx, 0x460dcc
call fcn.00408e2c
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 0x45fcf0
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.0040e118
push dword [ebp - 0x4a4]
push 0x460de8
lea eax, [ebp - 0x4a8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x226]
mov cx, 0x30
mov edx, 2
call fcn.0040e118
push dword [ebp - 0x4a8]
push 0x460de8
lea eax, [ebp - 0x4ac]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x22a]
mov cx, 0x30
mov edx, 2
call fcn.0040e118
push dword [ebp - 0x4ac]
push 0x460df8
lea eax, [ebp - 0x4b0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x22c]
mov cx, 0x30
mov edx, 2
call fcn.0040e118
push dword [ebp - 0x4b0]
push 0x460e0c
lea eax, [ebp - 0x4b4]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x22e]
mov cx, 0x30
mov edx, 2
call fcn.0040e118
push dword [ebp - 0x4b4]
push 0x460e0c
lea eax, [ebp - 0x4b8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x230]
mov cx, 0x30
mov edx, 2
call fcn.0040e118
push dword [ebp - 0x4b8]
push 0x460df8
lea eax, [ebp - 0x4bc]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x232]
mov cx, 0x30
mov edx, 1
call fcn.0040e118
push dword [ebp - 0x4bc]
push 0x460e1c
lea eax, [ebp - 0x4a0]
mov edx, 0xe
call fcn.0040705c
mov edx, dword [ebp - 0x4a0]
mov eax, 0x460e30
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45fcfa
xor eax, eax
push ebp
push 0x45fd2f
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c0]
call fcn.00436060
mov edx, dword [ebp - 0x4c0]
mov eax, 0x460e50
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45fd39
xor eax, eax
push ebp
push 0x45fd6e
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c4]
call fcn.0045e36c
mov edx, dword [ebp - 0x4c4]
mov eax, 0x460e78
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45fd78
xor eax, eax
push ebp
push 0x45fe17
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x20], 0x104
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
jne 0x45fdbe
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.00406db8
jmp 0x45fde8
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.00406dd4
call fcn.0045e2ac
test al, al
je 0x45fdfe
lea eax, [ebp - 0x10]
mov edx, 0x460ea4
call fcn.00406f0c
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x460ec4
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45fe21
xor eax, eax
push ebp
push 0x45ff08
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
jne 0x45fe4a
lea eax, [ebp - 0x10]
mov edx, 0x460ee4
call fcn.00406bfc
jmp 0x45fe54
lea eax, [ebp - 0x10]
xor edx, edx
call fcn.00406bfc
lea eax, [ebp - 0x14]
push eax
push 0x460ef8
push dword [ebp - 0x10]
push 0x460f3c
lea eax, [ebp - 0x4cc]
mov edx, 3
call fcn.0040705c
mov edx, dword [ebp - 0x4cc]
mov ecx, 0x460f68
mov eax, 0x80000002
call fcn.00436114
lea eax, [ebp - 0x4d0]
push eax
push 0x460ef8
push dword [ebp - 0x10]
push 0x460f3c
lea eax, [ebp - 0x4d4]
mov edx, 3
call fcn.0040705c
mov edx, dword [ebp - 0x4d4]
mov ecx, 0x460fa4
mov eax, 0x80000002
call fcn.00436114
mov edx, dword [ebp - 0x4d0]
lea eax, [ebp - 0x10]
call fcn.00406bfc
cmp dword [ebp - 0x14], 0
je 0x45feef
push dword [ebp - 0x10]
push 0x460fd0
push dword [ebp - 0x14]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.0040705c
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x460fe4
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ff12
xor eax, eax
push ebp
push 0x45ff47
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4d8]
call fcn.0045e728
mov edx, dword [ebp - 0x4d8]
mov eax, 0x461014
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ff51
xor eax, eax
push ebp
push 0x45ff86
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4dc]
call fcn.0045e7e0
mov edx, dword [ebp - 0x4dc]
mov eax, 0x461044
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ff90
xor eax, eax
push ebp
push 0x45ffc5
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e0]
call fcn.0045e8b4
mov edx, dword [ebp - 0x4e0]
mov eax, 0x461070
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45ffcf
xor eax, eax
push ebp
push 0x460004
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e4]
call fcn.0045e910
mov edx, dword [ebp - 0x4e4]
mov eax, 0x46109c
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46000e
xor eax, eax
push ebp
push 0x46009b
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
call fcn.0045ea24
cmp dword [ebp - 0x10], 0
je 0x460091
call fcn.0045eb28
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jne 0x460049
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x4610c8
call fcn.0045fa20
pop ecx
jmp 0x460091
push ebp
lea eax, [ebp - 0x4ec]
push eax
mov cx, 0x30
mov edx, 1
mov eax, dword [ebp - 0x24]
call fcn.0040e01c
push dword [ebp - 0x4ec]
push 0x4610e8
push dword [ebp - 0x10]
lea eax, [ebp - 0x4e8]
mov edx, 3
call fcn.0040705c
mov edx, dword [ebp - 0x4e8]
mov eax, 0x4610fc
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4600a5
xor eax, eax
push ebp
push 0x4600da
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f0]
call fcn.0045ec5c
mov edx, dword [ebp - 0x4f0]
mov eax, 0x461120
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4600e4
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
je 0x46012f
xor eax, eax
push ebp
push 0x460125
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f4]
call fcn.0045edf0
mov edx, dword [ebp - 0x4f4]
mov eax, 0x46114c
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46012f
xor eax, eax
push ebp
push 0x460274
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x461170
push 0x461198
call sub.kernel32.dll_GetModuleHandleW_2
push eax
call fcn.0040a198
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.00435874
lea eax, [ebp - 0x10]
call fcn.00405d1c
movzx eax, byte [eax]
mov ebx, dword [0x69a330]
mov ebx, dword [ebx]
call ebx
mov ebx, eax
mov esi, dword [0x69a330]
mov esi, dword [esi]
lea eax, [ebp - 0x236]
movzx eax, byte [eax]
call esi
cmp bl, al
je 0x46022c
push ebp
push ebp
lea eax, [ebp - 0x500]
lea edx, [ebp - 0x236]
movzx edx, byte [edx]
mov ecx, 0
call fcn.00405de0
mov eax, dword [ebp - 0x500]
lea edx, [ebp - 0x4fc]
call fcn.0045f88c
pop ecx
push dword [ebp - 0x4fc]
push 0x4611c0
push ebp
lea eax, [ebp - 0x508]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edx]
mov ecx, 0
call fcn.00405de0
mov eax, dword [ebp - 0x508]
lea edx, [ebp - 0x504]
call fcn.0045f88c
pop ecx
push dword [ebp - 0x504]
lea eax, [ebp - 0x4f8]
mov edx, 3
call fcn.0040705c
mov edx, dword [ebp - 0x4f8]
mov eax, 0x4611d0
call fcn.0045fa20
pop ecx
jmp 0x46026a
push ebp
push ebp
lea eax, [ebp - 0x510]
lea edx, [ebp - 0x236]
movzx edx, byte [edx]
mov ecx, 0
call fcn.00405de0
mov eax, dword [ebp - 0x510]
lea edx, [ebp - 0x50c]
call fcn.0045f88c
pop ecx
mov edx, dword [ebp - 0x50c]
mov eax, 0x4611d0
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46027e
xor eax, eax
push ebp
push 0x4602b3
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x514]
call fcn.0045eebc
mov edx, dword [ebp - 0x514]
mov eax, 0x4611fc
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4602bd
xor eax, eax
push ebp
push 0x460301
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.0040e1a8
mov edx, dword [ebp - 0x518]
mov eax, 0x461224
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46030b
xor eax, eax
push ebp
push 0x460340
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x51c]
call fcn.0045f0a4
mov edx, dword [ebp - 0x51c]
mov eax, 0x461248
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46034a
xor eax, eax
push ebp
push 0x46037f
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x520]
call fcn.0045f0c8
mov edx, dword [ebp - 0x520]
mov eax, 0x461278
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460389
xor eax, eax
push ebp
push 0x46041f
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x689578], 0
je 0x460415
call fcn.004035d4
test eax, eax
jle 0x460415
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
jne 0x4603db
push ebp
call sub.kernel32.dll_GetCommandLineW_1
mov edx, eax
lea eax, [ebp - 0x524]
call fcn.00406d64
mov edx, dword [ebp - 0x524]
mov eax, 0x4612ac
call fcn.0045fa20
pop ecx
jmp 0x460415
push ebp
call sub.kernel32.dll_GetCommandLineA
mov edx, eax
lea eax, [ebp - 0x52c]
mov ecx, 0
call fcn.00405df0
mov edx, dword [ebp - 0x52c]
lea eax, [ebp - 0x528]
call fcn.00406dd4
mov edx, dword [ebp - 0x528]
mov eax, 0x4612ac
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460429
xor eax, eax
push ebp
push 0x460471
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea edx, [ebp - 0x534]
xor eax, eax
call fcn.00435874
mov eax, dword [ebp - 0x534]
lea edx, [ebp - 0x530]
call fcn.0040f864
mov edx, dword [ebp - 0x530]
mov eax, 0x4612d4
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46047b
xor eax, eax
push ebp
push 0x4604d5
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.kernel32.dll_GetModuleHandleW_2
cmp eax, dword [0x689694]
je 0x4604cb
push ebp
lea edx, [ebp - 0x53c]
mov eax, dword [0x689694]
call fcn.00435874
mov eax, dword [ebp - 0x53c]
lea edx, [ebp - 0x538]
call fcn.0040f864
mov edx, dword [ebp - 0x538]
mov eax, 0x4612f8
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4604df
xor edx, edx
push ebp
push 0x460757
push dword fs:[edx]
mov dword fs:[edx], esp
cmp byte [0x6896a0], 0
je 0x460502
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.00435874
jmp 0x46050f
lea edx, [ebp - 0x10]
mov eax, dword [0x689694]
call fcn.00435874
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
jne 0x460532
lea eax, [ebp - 0x488]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00406c34
push eax
call sub.kernel32.dll_FindFirstFileW_1
jmp 0x46055d
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x540]
mov edx, dword [ebp - 0x10]
mov ecx, 0
call fcn.00406dfc
mov eax, dword [ebp - 0x540]
call fcn.004061f8
push eax
call sub.kernel32.dll_FindFirstFileA
cmp eax, 0xffffffff
je 0x46074d
push eax
call sub.kernel32.dll_FindClose_1
xor eax, eax
push ebp
push 0x4606d9
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 [0x6896a0], 0
jne 0x4605b8
push 0
call sub.kernel32.dll_GetModuleHandleW_2
cmp eax, dword [0x689694]
jne 0x4605c7
lea eax, [ebp - 0x14]
mov edx, 0x461324
call fcn.00406bfc
jmp 0x4605d4
lea eax, [ebp - 0x14]
mov edx, 0x46133c
call fcn.00406bfc
push ebp
lea eax, [ebp - 0x548]
push eax
movzx eax, word [ebp - 0x498]
mov cx, 0x30
mov edx, 4
call fcn.0040e118
push dword [ebp - 0x548]
push 0x460de8
lea eax, [ebp - 0x54c]
push eax
movzx eax, word [ebp - 0x496]
mov cx, 0x30
mov edx, 2
call fcn.0040e118
push dword [ebp - 0x54c]
push 0x460de8
lea eax, [ebp - 0x550]
push eax
movzx eax, word [ebp - 0x492]
mov cx, 0x30
mov edx, 2
call fcn.0040e118
push dword [ebp - 0x550]
push 0x4611c0
lea eax, [ebp - 0x554]
push eax
movzx eax, word [ebp - 0x490]
mov cx, 0x30
mov edx, 2
call fcn.0040e118
push dword [ebp - 0x554]
push 0x460e0c
lea eax, [ebp - 0x558]
push eax
movzx eax, word [ebp - 0x48e]
mov cx, 0x30
mov edx, 2
call fcn.0040e118
push dword [ebp - 0x558]
push 0x461358
lea eax, [ebp - 0x544]
mov edx, 0xa
call fcn.0040705c
mov eax, dword [ebp - 0x544]
push eax
lea eax, [ebp - 0x55c]
mov ecx, 0x46136c
mov edx, dword [ebp - 0x14]
call fcn.00406f8c
mov eax, dword [ebp - 0x55c]
pop edx
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4606e3
lea edx, [ebp - 0x560]
mov eax, dword [ebp - 0x1c]
call fcn.00441000
cmp dword [ebp - 0x560], 0
jne 0x46072d
lea edx, [ebp - 0x564]
mov eax, dword [ebp - 0x10]
call fcn.00419db4
mov edx, dword [ebp - 0x564]
lea eax, [ebp - 0x10]
call fcn.00406bfc
cmp dword [ebp - 0x10], 0
je 0x46074d
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x461390
call fcn.0045fa20
pop ecx
jmp 0x46074d
push ebp
lea edx, [ebp - 0x568]
mov eax, dword [ebp - 0x1c]
call fcn.00441000
mov edx, dword [ebp - 0x568]
mov eax, 0x461390
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460761
xor eax, eax
push ebp
push 0x4607be
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x4613a0
call sub.kernel32.dll_GetModuleHandleW_2
mov ebx, eax
test ebx, ebx
je 0x4607b4
lea edx, [ebp - 0x56c]
mov eax, ebx
call fcn.00435874
mov eax, dword [ebp - 0x56c]
mov ebx, dword [0x699c6c]
mov ebx, dword [ebx]
lea edx, [ebp - 0x10]
call ebx
cmp dword [ebp - 0x10], 0
je 0x4607b4
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x4613c4
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4607c8
xor eax, eax
push ebp
push 0x460880
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x460822
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x689694]
call fcn.0041ab40
cmp byte [eax + 0x1a], 2
je 0x460807
push ebp
mov edx, 0x4613e8
mov eax, 0x461408
call fcn.0045fa20
pop ecx
jmp 0x460818
push ebp
mov edx, 0x461430
mov eax, 0x461408
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46083d
push ebp
lea eax, [ebp - 0x574]
mov edx, dword [0x689568]
mov ecx, 0
call fcn.00405df0
mov edx, dword [ebp - 0x574]
lea eax, [ebp - 0x570]
call fcn.00406dd4
mov edx, dword [ebp - 0x570]
mov eax, 0x461454
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46088a
lea ecx, [ebp - 0x14]
mov edx, 0x461484
mov eax, dword [ebp - 0x1c]
call fcn.00443410
mov ebx, dword [0x69a24c]
mov ebx, dword [ebx]
mov dl, 0x7c
mov eax, dword [ebp - 0x14]
call ebx
test eax, eax
jle 0x460a63
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 1
xor eax, eax
push ebp
push 0x460a4d
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
push eax
mov ebx, dword [0x69a3b4]
mov ebx, dword [ebx]
mov cl, 0x7c
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
call ebx
mov eax, dword [0x69ecbc]
call fcn.0040832c
mov ebx, eax
test ebx, ebx
jl 0x460a43
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 [0x69ecbc]
mov eax, dword [eax + esi*4]
mov edi, dword [0x69986c]
mov edi, dword [edi]
mov edx, dword [ebp - 0x10]
call edi
test al, al
je 0x460a39
mov eax, dword [0x69ecbc]
cmp byte [eax + esi*4 + 0x18], 0
jne 0x460a43
mov eax, dword [0x69ecbc]
cmp dword [eax + esi*4 + 8], 0
je 0x46097d
push ebp
mov eax, dword [0x69ecbc]
mov ebx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x57c]
call ebx
mov edx, dword [ebp - 0x57c]
lea eax, [ebp - 0x578]
call fcn.00406dd4
mov edx, dword [ebp - 0x578]
mov eax, dword [0x69ecbc]
mov eax, dword [eax + esi*4]
call fcn.0045fa20
pop ecx
jmp 0x460a43
mov eax, dword [0x69ecbc]
cmp dword [eax + esi*4 + 0xc], 0
je 0x4609b4
push ebp
mov eax, dword [0x69ecbc]
mov ebx, dword [eax + esi*4 + 0xc]
lea eax, [ebp - 0x580]
call ebx
mov edx, dword [ebp - 0x580]
mov eax, dword [0x69ecbc]
mov eax, dword [eax + esi*4]
call fcn.0045fa20
pop ecx
jmp 0x460a43
mov eax, dword [0x69ecbc]
cmp dword [eax + esi*4 + 0x10], 0
je 0x460a05
push ebp
mov eax, dword [0x69ecbc]
mov ebx, dword [eax + esi*4 + 0x10]
lea edx, [ebp - 0x588]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4609dc
sub eax, 0xfffffdc0
call ebx
mov edx, dword [ebp - 0x588]
lea eax, [ebp - 0x584]
call fcn.00406dd4
mov edx, dword [ebp - 0x584]
mov eax, dword [0x69ecbc]
mov eax, dword [eax + esi*4]
call fcn.0045fa20
pop ecx
jmp 0x460a43
push ebp
mov eax, dword [0x69ecbc]
mov ebx, dword [eax + esi*4 + 0x14]
lea edx, [ebp - 0x58c]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x460a21
sub eax, 0xfffffdc0
call ebx
mov edx, dword [ebp - 0x58c]
mov eax, dword [0x69ecbc]
mov eax, dword [eax + esi*4]
call fcn.0045fa20
pop ecx
jmp 0x460a43
inc dword [ebp - 0x28]
dec ebx
jne 0x4608fb
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460a57
inc dword [ebp - 0x24]
dec dword [ebp - 0x2c]
jne 0x4608bb
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x460a93
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov edx, 0x461498
mov eax, 0x4614d4
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460a9d
xor eax, eax
push ebp
push 0x460af5
push dword fs:[eax]
mov dword fs:[eax], esp
add dword [0x68a004], 1
adc dword [0x68a008], 0
push ebp
push dword [0x68a008]
push dword [0x68a004]
lea ecx, [ebp - 0x590]
mov dx, 0x30
mov eax, 1
call fcn.0040e164
mov edx, dword [ebp - 0x590]
mov eax, 0x4614fc
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460aff
xor eax, eax
push ebp
push 0x460bf2
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x4f], 1
je 0x460bc8
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.0045f690
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.0045f5f0
push ebp
mov edx, dword [ebp - 0x14]
mov eax, 0x46152c
call fcn.0045fa20
pop ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.00407204
je 0x460be8
lea edx, [ebp - 0x594]
mov eax, dword [ebp - 0x10]
call fcn.00438aa0
mov edx, dword [ebp - 0x594]
lea eax, [ebp - 0x10]
call fcn.00406bfc
push 0
mov ebx, dword [0x699dfc]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x4611c0
mov edx, 0x461558
call ebx
push 0
mov ebx, dword [0x699dfc]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x4611c0
mov edx, 0x461568
call ebx
push 1
mov ebx, dword [0x699dfc]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x4611c0
mov edx, 0x461578
call ebx
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x46158c
call fcn.0045fa20
pop ecx
jmp 0x460be8
push ebp
lea edx, [ebp - 0x598]
mov eax, dword [ebp - 0x1c]
call fcn.00441074
mov edx, dword [ebp - 0x598]
mov eax, 0x46158c
call fcn.0045fa20
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460bfc
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0xc]
xor eax, eax
push ebp
push 0x460c79
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
dec eax
test eax, eax
jl 0x460c48
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 0x460c25
lea eax, [ebp - 0x59c]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x1a0]
mov ecx, 0x460dcc
call fcn.00408e2c
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 0x460c83
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 0x460dc5
lea eax, [ebp - 0x59c]
call fcn.00408de8
lea eax, [ebp - 0x598]
mov edx, 4
call fcn.00406ba0
lea eax, [ebp - 0x588]
call fcn.00405b3c
lea eax, [ebp - 0x584]
mov edx, 2
call fcn.00406ba0
lea eax, [ebp - 0x57c]
call fcn.00405b3c
lea eax, [ebp - 0x578]
call fcn.00406b98
lea eax, [ebp - 0x574]
call fcn.00405b3c
lea eax, [ebp - 0x570]
mov edx, 0xc
call fcn.00406ba0
lea eax, [ebp - 0x540]
call fcn.00405b3c
lea eax, [ebp - 0x53c]
mov edx, 4
call fcn.00406ba0
lea eax, [ebp - 0x52c]
call fcn.00405b3c
lea eax, [ebp - 0x528]
mov edx, 6
call fcn.00406ba0
lea eax, [ebp - 0x510]
call fcn.00405b3c
lea eax, [ebp - 0x50c]
call fcn.00406b98
lea eax, [ebp - 0x508]
call fcn.00405b3c
lea eax, [ebp - 0x504]
call fcn.00406b98
lea eax, [ebp - 0x500]
call fcn.00405b3c
lea eax, [ebp - 0x4fc]
mov edx, 0xd
call fcn.00406ba0
lea eax, [ebp - 0x4c4]
mov edx, 0xa
call fcn.00406ba0
lea eax, [ebp - 0x49c]
call fcn.00408de8
lea eax, [ebp - 0x18]
call fcn.00408de8
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00406ba0
lea eax, [ebp - 4]
mov edx, dword [0x45f858]
call fcn.0040860c
ret