Function at 0x46087c
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 0x460884
push ecx
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x461b73
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x1a0], 0
jne 0x4608d8
mov dl, 1
mov eax, dword [0x43d5f0]
call fcn.00445800
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 0x4608d3
sub edx, 0xffffffc0
call fcn.004092ac
mov eax, esi
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x1a0]
call fcn.004092ac
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x1c4], 0
je 0x461a43
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x1a0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x461a43
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x1a0]
call fcn.004092ac
lea eax, [ebp - 0x49c]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x1a0]
mov ecx, 0x461b84
call fcn.004092d8
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 0x460aa8
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.0040e600
push dword [ebp - 0x4a4]
push 0x461ba0
lea eax, [ebp - 0x4a8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x226]
mov cx, 0x30
mov edx, 2
call fcn.0040e600
push dword [ebp - 0x4a8]
push 0x461ba0
lea eax, [ebp - 0x4ac]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x22a]
mov cx, 0x30
mov edx, 2
call fcn.0040e600
push dword [ebp - 0x4ac]
push 0x461bb0
lea eax, [ebp - 0x4b0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x22c]
mov cx, 0x30
mov edx, 2
call fcn.0040e600
push dword [ebp - 0x4b0]
push 0x461bc4
lea eax, [ebp - 0x4b4]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x22e]
mov cx, 0x30
mov edx, 2
call fcn.0040e600
push dword [ebp - 0x4b4]
push 0x461bc4
lea eax, [ebp - 0x4b8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x230]
mov cx, 0x30
mov edx, 2
call fcn.0040e600
push dword [ebp - 0x4b8]
push 0x461bb0
lea eax, [ebp - 0x4bc]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x232]
mov cx, 0x30
mov edx, 1
call fcn.0040e600
push dword [ebp - 0x4bc]
push 0x461bd4
lea eax, [ebp - 0x4a0]
mov edx, 0xe
call fcn.00407348
mov edx, dword [ebp - 0x4a0]
mov eax, 0x461be8
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460ab2
xor eax, eax
push ebp
push 0x460ae7
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c0]
call fcn.00436e18
mov edx, dword [ebp - 0x4c0]
mov eax, 0x461c08
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460af1
xor eax, eax
push ebp
push 0x460b26
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4c4]
call fcn.0045f124
mov edx, dword [ebp - 0x4c4]
mov eax, 0x461c30
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460b30
xor eax, eax
push ebp
push 0x460bcf
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x20], 0x104
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
jne 0x460b76
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.00406f90
jmp 0x460ba0
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.00406fac
call fcn.0045f064
test al, al
je 0x460bb6
lea eax, [ebp - 0x10]
mov edx, 0x461c5c
call fcn.004071a4
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x461c7c
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460bd9
xor eax, eax
push ebp
push 0x460cc0
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
jne 0x460c02
lea eax, [ebp - 0x10]
mov edx, 0x461c9c
call fcn.00406dd4
jmp 0x460c0c
lea eax, [ebp - 0x10]
xor edx, edx
call fcn.00406dd4
lea eax, [ebp - 0x14]
push eax
push 0x461cb0
push dword [ebp - 0x10]
push 0x461cf4
lea eax, [ebp - 0x4cc]
mov edx, 3
call fcn.00407348
mov edx, dword [ebp - 0x4cc]
mov ecx, 0x461d20
mov eax, 0x80000002
call fcn.00436ecc
lea eax, [ebp - 0x4d0]
push eax
push 0x461cb0
push dword [ebp - 0x10]
push 0x461cf4
lea eax, [ebp - 0x4d4]
mov edx, 3
call fcn.00407348
mov edx, dword [ebp - 0x4d4]
mov ecx, 0x461d5c
mov eax, 0x80000002
call fcn.00436ecc
mov edx, dword [ebp - 0x4d0]
lea eax, [ebp - 0x10]
call fcn.00406dd4
cmp dword [ebp - 0x14], 0
je 0x460ca7
push dword [ebp - 0x10]
push 0x461d88
push dword [ebp - 0x14]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00407348
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x461d9c
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460cca
xor eax, eax
push ebp
push 0x460cff
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4d8]
call fcn.0045f4e0
mov edx, dword [ebp - 0x4d8]
mov eax, 0x461dcc
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460d09
xor eax, eax
push ebp
push 0x460d3e
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4dc]
call fcn.0045f598
mov edx, dword [ebp - 0x4dc]
mov eax, 0x461dfc
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460d48
xor eax, eax
push ebp
push 0x460d7d
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e0]
call fcn.0045f66c
mov edx, dword [ebp - 0x4e0]
mov eax, 0x461e28
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460d87
xor eax, eax
push ebp
push 0x460dbc
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4e4]
call fcn.0045f6c8
mov edx, dword [ebp - 0x4e4]
mov eax, 0x461e54
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460dc6
xor eax, eax
push ebp
push 0x460e53
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
call fcn.0045f7dc
cmp dword [ebp - 0x10], 0
je 0x460e49
call fcn.0045f8e0
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jne 0x460e01
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x461e80
call fcn.004607d8
pop ecx
jmp 0x460e49
push ebp
lea eax, [ebp - 0x4ec]
push eax
mov cx, 0x30
mov edx, 1
mov eax, dword [ebp - 0x24]
call fcn.0040e504
push dword [ebp - 0x4ec]
push 0x461ea0
push dword [ebp - 0x10]
lea eax, [ebp - 0x4e8]
mov edx, 3
call fcn.00407348
mov edx, dword [ebp - 0x4e8]
mov eax, 0x461eb4
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460e5d
xor eax, eax
push ebp
push 0x460e92
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f0]
call fcn.0045fa14
mov edx, dword [ebp - 0x4f0]
mov eax, 0x461ed8
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460e9c
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
je 0x460ee7
xor eax, eax
push ebp
push 0x460edd
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x4f4]
call fcn.0045fba8
mov edx, dword [ebp - 0x4f4]
mov eax, 0x461f04
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x460ee7
xor eax, eax
push ebp
push 0x46102c
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x461f28
push 0x461f50
call sub.kernel32.dll_GetModuleHandleW_2
push eax
call fcn.0040a5cc
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.0043662c
lea eax, [ebp - 0x10]
call fcn.00405d94
movzx eax, byte [eax]
mov ebx, dword [0x7222f8]
mov ebx, dword [ebx]
call ebx
mov ebx, eax
mov esi, dword [0x7222f8]
mov esi, dword [esi]
lea eax, [ebp - 0x236]
movzx eax, byte [eax]
call esi
cmp bl, al
je 0x460fe4
push ebp
push ebp
lea eax, [ebp - 0x500]
lea edx, [ebp - 0x236]
movzx edx, byte [edx]
mov ecx, 0
call fcn.00405e6c
mov eax, dword [ebp - 0x500]
lea edx, [ebp - 0x4fc]
call fcn.00460644
pop ecx
push dword [ebp - 0x4fc]
push 0x461f78
push ebp
lea eax, [ebp - 0x508]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edx]
mov ecx, 0
call fcn.00405e6c
mov eax, dword [ebp - 0x508]
lea edx, [ebp - 0x504]
call fcn.00460644
pop ecx
push dword [ebp - 0x504]
lea eax, [ebp - 0x4f8]
mov edx, 3
call fcn.00407348
mov edx, dword [ebp - 0x4f8]
mov eax, 0x461f88
call fcn.004607d8
pop ecx
jmp 0x461022
push ebp
push ebp
lea eax, [ebp - 0x510]
lea edx, [ebp - 0x236]
movzx edx, byte [edx]
mov ecx, 0
call fcn.00405e6c
mov eax, dword [ebp - 0x510]
lea edx, [ebp - 0x50c]
call fcn.00460644
pop ecx
mov edx, dword [ebp - 0x50c]
mov eax, 0x461f88
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x461036
xor eax, eax
push ebp
push 0x46106b
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x514]
call fcn.0045fc74
mov edx, dword [ebp - 0x514]
mov eax, 0x461fb4
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x461075
xor eax, eax
push ebp
push 0x4610b9
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.0040e690
mov edx, dword [ebp - 0x518]
mov eax, 0x461fdc
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4610c3
xor eax, eax
push ebp
push 0x4610f8
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x51c]
call fcn.0045fe5c
mov edx, dword [ebp - 0x51c]
mov eax, 0x462000
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x461102
xor eax, eax
push ebp
push 0x461137
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x520]
call fcn.0045fe80
mov edx, dword [ebp - 0x520]
mov eax, 0x462030
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x461141
xor eax, eax
push ebp
push 0x4611d7
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x701590], 0
je 0x4611cd
call fcn.004034d8
test eax, eax
jle 0x4611cd
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
jne 0x461193
push ebp
call sub.kernel32.dll_GetCommandLineW_1
mov edx, eax
lea eax, [ebp - 0x524]
call fcn.00406f3c
mov edx, dword [ebp - 0x524]
mov eax, 0x462064
call fcn.004607d8
pop ecx
jmp 0x4611cd
push ebp
call sub.kernel32.dll_GetCommandLineA
mov edx, eax
lea eax, [ebp - 0x52c]
mov ecx, 0
call fcn.00405e7c
mov edx, dword [ebp - 0x52c]
lea eax, [ebp - 0x528]
call fcn.00406fac
mov edx, dword [ebp - 0x528]
mov eax, 0x462064
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4611e1
xor eax, eax
push ebp
push 0x461229
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea edx, [ebp - 0x534]
xor eax, eax
call fcn.0043662c
mov eax, dword [ebp - 0x534]
lea edx, [ebp - 0x530]
call fcn.004102a8
mov edx, dword [ebp - 0x530]
mov eax, 0x46208c
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x461233
xor eax, eax
push ebp
push 0x46128d
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.kernel32.dll_GetModuleHandleW_2
cmp eax, dword [0x7016ac]
je 0x461283
push ebp
lea edx, [ebp - 0x53c]
mov eax, dword [0x7016ac]
call fcn.0043662c
mov eax, dword [ebp - 0x53c]
lea edx, [ebp - 0x538]
call fcn.004102a8
mov edx, dword [ebp - 0x538]
mov eax, 0x4620b0
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x461297
xor edx, edx
push ebp
push 0x46150f
push dword fs:[edx]
mov dword fs:[edx], esp
cmp byte [0x7016b8], 0
je 0x4612ba
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.0043662c
jmp 0x4612c7
lea edx, [ebp - 0x10]
mov eax, dword [0x7016ac]
call fcn.0043662c
call sub.kernel32.dll_GetVersion_1
test eax, 0x80000000
jne 0x4612ea
lea eax, [ebp - 0x488]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00406e0c
push eax
call sub.kernel32.dll_FindFirstFileW_1
jmp 0x461315
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x540]
mov edx, dword [ebp - 0x10]
mov ecx, 0
call fcn.00406fd4
mov eax, dword [ebp - 0x540]
call fcn.00406358
push eax
call sub.kernel32.dll_FindFirstFileA
cmp eax, 0xffffffff
je 0x461505
push eax
call sub.kernel32.dll_FindClose_1
xor eax, eax
push ebp
push 0x461491
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 [0x7016b8], 0
jne 0x461370
push 0
call sub.kernel32.dll_GetModuleHandleW_2
cmp eax, dword [0x7016ac]
jne 0x46137f
lea eax, [ebp - 0x14]
mov edx, 0x4620dc
call fcn.00406dd4
jmp 0x46138c
lea eax, [ebp - 0x14]
mov edx, 0x4620f4
call fcn.00406dd4
push ebp
lea eax, [ebp - 0x548]
push eax
movzx eax, word [ebp - 0x498]
mov cx, 0x30
mov edx, 4
call fcn.0040e600
push dword [ebp - 0x548]
push 0x461ba0
lea eax, [ebp - 0x54c]
push eax
movzx eax, word [ebp - 0x496]
mov cx, 0x30
mov edx, 2
call fcn.0040e600
push dword [ebp - 0x54c]
push 0x461ba0
lea eax, [ebp - 0x550]
push eax
movzx eax, word [ebp - 0x492]
mov cx, 0x30
mov edx, 2
call fcn.0040e600
push dword [ebp - 0x550]
push 0x461f78
lea eax, [ebp - 0x554]
push eax
movzx eax, word [ebp - 0x490]
mov cx, 0x30
mov edx, 2
call fcn.0040e600
push dword [ebp - 0x554]
push 0x461bc4
lea eax, [ebp - 0x558]
push eax
movzx eax, word [ebp - 0x48e]
mov cx, 0x30
mov edx, 2
call fcn.0040e600
push dword [ebp - 0x558]
push 0x462110
lea eax, [ebp - 0x544]
mov edx, 0xa
call fcn.00407348
mov eax, dword [ebp - 0x544]
push eax
lea eax, [ebp - 0x55c]
mov ecx, 0x462124
mov edx, dword [ebp - 0x14]
call fcn.00407264
mov eax, dword [ebp - 0x55c]
pop edx
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46149b
lea edx, [ebp - 0x560]
mov eax, dword [ebp - 0x1c]
call fcn.00441db8
cmp dword [ebp - 0x560], 0
jne 0x4614e5
lea edx, [ebp - 0x564]
mov eax, dword [ebp - 0x10]
call fcn.0041a7f8
mov edx, dword [ebp - 0x564]
lea eax, [ebp - 0x10]
call fcn.00406dd4
cmp dword [ebp - 0x10], 0
je 0x461505
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x462148
call fcn.004607d8
pop ecx
jmp 0x461505
push ebp
lea edx, [ebp - 0x568]
mov eax, dword [ebp - 0x1c]
call fcn.00441db8
mov edx, dword [ebp - 0x568]
mov eax, 0x462148
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x461519
xor eax, eax
push ebp
push 0x461576
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x462158
call sub.kernel32.dll_GetModuleHandleW_2
mov ebx, eax
test ebx, ebx
je 0x46156c
lea edx, [ebp - 0x56c]
mov eax, ebx
call fcn.0043662c
mov eax, dword [ebp - 0x56c]
mov ebx, dword [0x721ce8]
mov ebx, dword [ebx]
lea edx, [ebp - 0x10]
call ebx
cmp dword [ebp - 0x10], 0
je 0x46156c
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x46217c
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x461580
xor eax, eax
push ebp
push 0x461638
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x4615da
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x7016ac]
call fcn.0041b584
cmp byte [eax + 0x1a], 2
je 0x4615bf
push ebp
mov edx, 0x4621a0
mov eax, 0x4621c0
call fcn.004607d8
pop ecx
jmp 0x4615d0
push ebp
mov edx, 0x4621e8
mov eax, 0x4621c0
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4615f5
push ebp
lea eax, [ebp - 0x574]
mov edx, dword [0x701580]
mov ecx, 0
call fcn.00405e7c
mov edx, dword [ebp - 0x574]
lea eax, [ebp - 0x570]
call fcn.00406fac
mov edx, dword [ebp - 0x570]
mov eax, 0x46220c
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x461642
lea ecx, [ebp - 0x14]
mov edx, 0x46223c
mov eax, dword [ebp - 0x1c]
call fcn.004441c8
mov ebx, dword [0x722220]
mov ebx, dword [ebx]
mov dl, 0x7c
mov eax, dword [ebp - 0x14]
call ebx
test eax, eax
jle 0x46181b
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], 1
xor eax, eax
push ebp
push 0x461805
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
push eax
mov ebx, dword [0x72236c]
mov ebx, dword [ebx]
mov cl, 0x7c
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
call ebx
mov eax, dword [0x726cf4]
call fcn.004087a4
mov ebx, eax
test ebx, ebx
jl 0x4617fb
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 [0x726cf4]
mov eax, dword [eax + esi*4]
mov edi, dword [0x721950]
mov edi, dword [edi]
mov edx, dword [ebp - 0x10]
call edi
test al, al
je 0x4617f1
mov eax, dword [0x726cf4]
cmp byte [eax + esi*4 + 0x18], 0
jne 0x4617fb
mov eax, dword [0x726cf4]
cmp dword [eax + esi*4 + 8], 0
je 0x461735
push ebp
mov eax, dword [0x726cf4]
mov ebx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x57c]
call ebx
mov edx, dword [ebp - 0x57c]
lea eax, [ebp - 0x578]
call fcn.00406fac
mov edx, dword [ebp - 0x578]
mov eax, dword [0x726cf4]
mov eax, dword [eax + esi*4]
call fcn.004607d8
pop ecx
jmp 0x4617fb
mov eax, dword [0x726cf4]
cmp dword [eax + esi*4 + 0xc], 0
je 0x46176c
push ebp
mov eax, dword [0x726cf4]
mov ebx, dword [eax + esi*4 + 0xc]
lea eax, [ebp - 0x580]
call ebx
mov edx, dword [ebp - 0x580]
mov eax, dword [0x726cf4]
mov eax, dword [eax + esi*4]
call fcn.004607d8
pop ecx
jmp 0x4617fb
mov eax, dword [0x726cf4]
cmp dword [eax + esi*4 + 0x10], 0
je 0x4617bd
push ebp
mov eax, dword [0x726cf4]
mov ebx, dword [eax + esi*4 + 0x10]
lea edx, [ebp - 0x588]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x461794
sub eax, 0xfffffdc0
call ebx
mov edx, dword [ebp - 0x588]
lea eax, [ebp - 0x584]
call fcn.00406fac
mov edx, dword [ebp - 0x584]
mov eax, dword [0x726cf4]
mov eax, dword [eax + esi*4]
call fcn.004607d8
pop ecx
jmp 0x4617fb
push ebp
mov eax, dword [0x726cf4]
mov ebx, dword [eax + esi*4 + 0x14]
lea edx, [ebp - 0x58c]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4617d9
sub eax, 0xfffffdc0
call ebx
mov edx, dword [ebp - 0x58c]
mov eax, dword [0x726cf4]
mov eax, dword [eax + esi*4]
call fcn.004607d8
pop ecx
jmp 0x4617fb
inc dword [ebp - 0x28]
dec ebx
jne 0x4616b3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x46180f
inc dword [ebp - 0x24]
dec dword [ebp - 0x2c]
jne 0x461673
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x46184b
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov edx, 0x462250
mov eax, 0x46228c
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x461855
xor eax, eax
push ebp
push 0x4618ad
push dword fs:[eax]
mov dword fs:[eax], esp
add dword [0x70201c], 1
adc dword [0x702020], 0
push ebp
push dword [0x702020]
push dword [0x70201c]
lea ecx, [ebp - 0x590]
mov dx, 0x30
mov eax, 1
call fcn.0040e64c
mov edx, dword [ebp - 0x590]
mov eax, 0x4622b4
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4618b7
xor eax, eax
push ebp
push 0x4619aa
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x4f], 1
je 0x461980
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.00460448
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.004603a8
push ebp
mov edx, dword [ebp - 0x14]
mov eax, 0x4622e4
call fcn.004607d8
pop ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.00407534
je 0x4619a0
lea edx, [ebp - 0x594]
mov eax, dword [ebp - 0x10]
call fcn.00439858
mov edx, dword [ebp - 0x594]
lea eax, [ebp - 0x10]
call fcn.00406dd4
push 0
mov ebx, dword [0x721e48]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x461f78
mov edx, 0x462310
call ebx
push 0
mov ebx, dword [0x721e48]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x461f78
mov edx, 0x462320
call ebx
push 1
mov ebx, dword [0x721e48]
mov ebx, dword [ebx]
lea eax, [ebp - 0x10]
mov ecx, 0x461f78
mov edx, 0x462330
call ebx
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x462344
call fcn.004607d8
pop ecx
jmp 0x4619a0
push ebp
lea edx, [ebp - 0x598]
mov eax, dword [ebp - 0x1c]
call fcn.00441e2c
mov edx, dword [ebp - 0x598]
mov eax, 0x462344
call fcn.004607d8
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4619b4
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0xc]
xor eax, eax
push ebp
push 0x461a31
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
dec eax
test eax, eax
jl 0x461a00
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 0x4619dd
lea eax, [ebp - 0x59c]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x1a0]
mov ecx, 0x461b84
call fcn.004092d8
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 0x461a3b
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 0x461b7d
lea eax, [ebp - 0x59c]
call fcn.00409294
lea eax, [ebp - 0x598]
mov edx, 4
call fcn.00406d78
lea eax, [ebp - 0x588]
call fcn.00405b98
lea eax, [ebp - 0x584]
mov edx, 2
call fcn.00406d78
lea eax, [ebp - 0x57c]
call fcn.00405b98
lea eax, [ebp - 0x578]
call fcn.00406d70
lea eax, [ebp - 0x574]
call fcn.00405b98
lea eax, [ebp - 0x570]
mov edx, 0xc
call fcn.00406d78
lea eax, [ebp - 0x540]
call fcn.00405b98
lea eax, [ebp - 0x53c]
mov edx, 4
call fcn.00406d78
lea eax, [ebp - 0x52c]
call fcn.00405b98
lea eax, [ebp - 0x528]
mov edx, 6
call fcn.00406d78
lea eax, [ebp - 0x510]
call fcn.00405b98
lea eax, [ebp - 0x50c]
call fcn.00406d70
lea eax, [ebp - 0x508]
call fcn.00405b98
lea eax, [ebp - 0x504]
call fcn.00406d70
lea eax, [ebp - 0x500]
call fcn.00405b98
lea eax, [ebp - 0x4fc]
mov edx, 0xd
call fcn.00406d78
lea eax, [ebp - 0x4c4]
mov edx, 0xa
call fcn.00406d78
lea eax, [ebp - 0x49c]
call fcn.00409294
lea eax, [ebp - 0x18]
call fcn.00409294
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00406d78
lea eax, [ebp - 4]
mov edx, dword [0x460610]
call fcn.00408a84
ret