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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x5a
push 0
push 0
dec ecx
jne 0x443064
push ecx
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x443fb0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x150], 0
jne 0x4430b8
mov dl, 1
mov eax, dword [0x42c3dc]
call fcn.0043428c
mov ebx, eax
mov eax, dword [ebp - 0x10]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x10]
add eax, 0x150
mov edx, ebx
test edx, edx
je 0x4430b3
sub edx, 0xffffffc0
call fcn.00404918
mov eax, esi
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + 0x150]
call fcn.00404918
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x174], 0
je 0x443f53
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x150]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x443f53
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + 0x150]
call fcn.00404918
lea eax, [ebp - 0x294]
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + 0x150]
mov ecx, 0x443fc0
call fcn.00404934
mov eax, dword [ebp - 0x294]
mov edx, dword [eax]
call dword [edx + 0x18]
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x443271
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x290]
push eax
call sub.kernel32.dll_GetLocalTime
push ebp
lea eax, [ebp - 0x29c]
push eax
movzx eax, word [ebp - 0x290]
mov cl, 0x30
mov edx, 4
call fcn.00407de8
push dword [ebp - 0x29c]
push 0x443fd8
lea eax, [ebp - 0x2a0]
push eax
movzx eax, word [ebp - 0x28e]
mov cl, 0x30
mov edx, 2
call fcn.00407de8
push dword [ebp - 0x2a0]
push 0x443fd8
lea eax, [ebp - 0x2a4]
push eax
movzx eax, word [ebp - 0x28a]
mov cl, 0x30
mov edx, 2
call fcn.00407de8
push dword [ebp - 0x2a4]
push 0x443fe4
lea eax, [ebp - 0x2a8]
push eax
movzx eax, word [ebp - 0x288]
mov cl, 0x30
mov edx, 2
call fcn.00407de8
push dword [ebp - 0x2a8]
push 0x443ff0
lea eax, [ebp - 0x2ac]
push eax
movzx eax, word [ebp - 0x286]
mov cl, 0x30
mov edx, 2
call fcn.00407de8
push dword [ebp - 0x2ac]
push 0x443ff0
lea eax, [ebp - 0x2b0]
push eax
movzx eax, word [ebp - 0x284]
mov cl, 0x30
mov edx, 2
call fcn.00407de8
push dword [ebp - 0x2b0]
push 0x443fe4
lea eax, [ebp - 0x2b4]
push eax
movzx eax, word [ebp - 0x282]
mov cl, 0x30
mov edx, 1
call fcn.00407de8
push dword [ebp - 0x2b4]
push 0x443ffc
lea eax, [ebp - 0x298]
mov edx, 0xe
call fcn.004038d0
mov edx, dword [ebp - 0x298]
mov eax, 0x444008
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44327b
xor eax, eax
push ebp
push 0x4432b0
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x298]
call fcn.004281ec
mov edx, dword [ebp - 0x298]
mov eax, 0x44401c
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4432ba
xor eax, eax
push ebp
push 0x4432ef
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x298]
call fcn.00441e9c
mov edx, dword [ebp - 0x298]
mov eax, 0x444034
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4432f9
xor eax, eax
push ebp
push 0x443360
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x1c], 0x104
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x13d]
push eax
call sub.advapi32.dll_GetUserNameA
lea eax, [ebp - 0x14]
lea edx, [ebp - 0x13d]
mov ecx, 0x105
call fcn.004037e4
call fcn.00441dfc
test al, al
je 0x443347
lea eax, [ebp - 0x14]
mov edx, 0x44404c
call fcn.00403818
push ebp
mov edx, dword [ebp - 0x14]
mov eax, 0x444060
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44336a
xor eax, eax
push ebp
push 0x44344f
push dword fs:[eax]
mov dword fs:[eax], esp
call sub.kernel32.dll_GetVersion
test eax, 0x80000000
jne 0x443393
lea eax, [ebp - 0x14]
mov edx, 0x444074
call fcn.0040368c
jmp 0x44339b
lea eax, [ebp - 0x14]
call fcn.004035f4
lea eax, [ebp - 0x18]
push eax
push 0x444080
push dword [ebp - 0x14]
push 0x4440a4
lea eax, [ebp - 0x298]
mov edx, 3
call fcn.004038d0
mov edx, dword [ebp - 0x298]
mov ecx, 0x4440bc
mov eax, 0x80000002
call fcn.00428220
lea eax, [ebp - 0x298]
push eax
push 0x444080
push dword [ebp - 0x14]
push 0x4440a4
lea eax, [ebp - 0x29c]
mov edx, 3
call fcn.004038d0
mov edx, dword [ebp - 0x29c]
mov ecx, 0x4440dc
mov eax, 0x80000002
call fcn.00428220
mov edx, dword [ebp - 0x298]
lea eax, [ebp - 0x14]
call fcn.0040368c
cmp dword [ebp - 0x18], 0
je 0x443436
push dword [ebp - 0x14]
push 0x4440f4
push dword [ebp - 0x18]
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.004038d0
push ebp
mov edx, dword [ebp - 0x14]
mov eax, 0x444100
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x443459
xor eax, eax
push ebp
push 0x44348e
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x298]
call fcn.004421c8
mov edx, dword [ebp - 0x298]
mov eax, 0x44411c
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x443498
xor eax, eax
push ebp
push 0x4434cd
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x298]
call fcn.00442274
mov edx, dword [ebp - 0x298]
mov eax, 0x444138
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4434d7
xor eax, eax
push ebp
push 0x44350c
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x298]
call fcn.004422bc
mov edx, dword [ebp - 0x298]
mov eax, 0x444150
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x443516
xor eax, eax
push ebp
push 0x44354b
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x298]
call fcn.00442314
mov edx, dword [ebp - 0x298]
mov eax, 0x444168
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x443555
xor eax, eax
push ebp
push 0x4435e0
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x14]
call fcn.00442414
cmp dword [ebp - 0x14], 0
je 0x4435d6
call fcn.0044248c
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jne 0x443590
push ebp
mov edx, dword [ebp - 0x14]
mov eax, 0x444180
call fcn.00442f74
pop ecx
jmp 0x4435d6
push ebp
lea eax, [ebp - 0x29c]
push eax
mov cl, 0x30
mov edx, 1
mov eax, dword [ebp - 0x2c]
call fcn.00407cf8
push dword [ebp - 0x29c]
push 0x444194
push dword [ebp - 0x14]
lea eax, [ebp - 0x298]
mov edx, 3
call fcn.004038d0
mov edx, dword [ebp - 0x298]
mov eax, 0x4441a0
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4435ea
xor eax, eax
push ebp
push 0x44361f
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x298]
call fcn.00442574
mov edx, dword [ebp - 0x298]
mov eax, 0x4441b4
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x443629
lea eax, [ebp - 0x2d4]
call fcn.00408c14
cmp byte [ebp - 0x2c4], 0
je 0x44367c
xor eax, eax
push ebp
push 0x443672
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x298]
call fcn.004426cc
mov edx, dword [ebp - 0x298]
mov eax, 0x4441cc
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44367c
xor eax, eax
push ebp
push 0x443761
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x4441e0
push 0x4441f4
call sub.kernel32.dll_GetModuleHandleA_1
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [ebp - 4], eax
push 0x104
lea eax, [ebp - 0x13d]
push eax
call sub.kernel32.dll_GetWindowsDirectoryA
lea edx, [ebp - 0x14]
xor eax, eax
call fcn.00427df4
mov eax, dword [ebp - 0x14]
mov al, byte [eax]
call fcn.004072d0
mov ebx, eax
mov al, byte [ebp - 0x13d]
call fcn.004072d0
cmp bl, al
je 0x443732
push ebp
push ebp
lea edx, [ebp - 0x29c]
mov al, byte [ebp - 0x13d]
call fcn.00442e20
pop ecx
push dword [ebp - 0x29c]
push 0x44420c
push ebp
lea edx, [ebp - 0x2a0]
mov eax, dword [ebp - 0x14]
mov al, byte [eax]
call fcn.00442e20
pop ecx
push dword [ebp - 0x2a0]
lea eax, [ebp - 0x298]
mov edx, 3
call fcn.004038d0
mov edx, dword [ebp - 0x298]
mov eax, 0x444218
call fcn.00442f74
pop ecx
jmp 0x443757
push ebp
push ebp
lea edx, [ebp - 0x298]
mov al, byte [ebp - 0x13d]
call fcn.00442e20
pop ecx
mov edx, dword [ebp - 0x298]
mov eax, 0x444218
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44376b
xor eax, eax
push ebp
push 0x4437a0
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x298]
call fcn.00442780
mov edx, dword [ebp - 0x298]
mov eax, 0x444230
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4437aa
xor eax, eax
push ebp
push 0x4437ec
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x298]
push eax
call sub.kernel32.dll_GetCurrentProcessId
mov cl, 0x30
mov edx, 1
call fcn.00407e78
mov edx, dword [ebp - 0x298]
mov eax, 0x444248
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4437f6
xor eax, eax
push ebp
push 0x44382b
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x298]
call fcn.00442940
mov edx, dword [ebp - 0x298]
mov eax, 0x44425c
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x443835
xor eax, eax
push ebp
push 0x443883
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x44ec5c], 0
je 0x443879
call fcn.004027a0
test eax, eax
jle 0x443879
push ebp
call sub.kernel32.dll_GetCommandLineA_1
mov edx, eax
lea eax, [ebp - 0x298]
call fcn.004037a8
mov edx, dword [ebp - 0x298]
mov eax, 0x444278
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44388d
xor eax, eax
push ebp
push 0x4438d5
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea edx, [ebp - 0x29c]
xor eax, eax
call fcn.00427df4
mov eax, dword [ebp - 0x29c]
lea edx, [ebp - 0x298]
call fcn.00427e24
mov edx, dword [ebp - 0x298]
mov eax, 0x444290
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4438df
xor eax, eax
push ebp
push 0x44393d
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call sub.kernel32.dll_GetModuleHandleA_1
mov edx, dword [0x44f538]
cmp eax, dword [edx]
je 0x443933
push ebp
lea edx, [ebp - 0x29c]
mov eax, dword [0x44f538]
mov eax, dword [eax]
call fcn.00427df4
mov eax, dword [ebp - 0x29c]
lea edx, [ebp - 0x298]
call fcn.00427e24
mov edx, dword [ebp - 0x298]
mov eax, 0x4442a4
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x443947
xor eax, eax
push ebp
push 0x443b8e
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x44ecc0], 0
je 0x44396a
lea edx, [ebp - 0x14]
xor eax, eax
call fcn.00427df4
jmp 0x443979
lea edx, [ebp - 0x14]
mov eax, dword [0x44f538]
mov eax, dword [eax]
call fcn.00427df4
lea eax, [ebp - 0x280]
push eax
mov eax, dword [ebp - 0x14]
call fcn.004039d4
push eax
call sub.kernel32.dll_FindFirstFileA
mov ebx, eax
cmp ebx, 0xffffffff
je 0x443b84
push ebx
call sub.kernel32.dll_FindClose
xor eax, eax
push ebp
push 0x443b04
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x26c]
push eax
call sub.kernel32.dll_FileTimeToLocalFileTime
lea eax, [ebp - 0x290]
push eax
lea eax, [ebp - 0x26c]
push eax
call sub.kernel32.dll_FileTimeToSystemTime
cmp byte [0x44ecc0], 0
jne 0x4439ed
push 0
call sub.kernel32.dll_GetModuleHandleA_1
mov edx, dword [0x44f538]
cmp eax, dword [edx]
jne 0x4439fc
lea eax, [ebp - 0x18]
mov edx, 0x4442bc
call fcn.0040368c
jmp 0x443a09
lea eax, [ebp - 0x18]
mov edx, 0x4442cc
call fcn.0040368c
push ebp
lea eax, [ebp - 0x29c]
push eax
movzx eax, word [ebp - 0x290]
mov cl, 0x30
mov edx, 4
call fcn.00407de8
push dword [ebp - 0x29c]
push 0x443fd8
lea eax, [ebp - 0x2a0]
push eax
movzx eax, word [ebp - 0x28e]
mov cl, 0x30
mov edx, 2
call fcn.00407de8
push dword [ebp - 0x2a0]
push 0x443fd8
lea eax, [ebp - 0x2a4]
push eax
movzx eax, word [ebp - 0x28a]
mov cl, 0x30
mov edx, 2
call fcn.00407de8
push dword [ebp - 0x2a4]
push 0x44420c
lea eax, [ebp - 0x2a8]
push eax
movzx eax, word [ebp - 0x288]
mov cl, 0x30
mov edx, 2
call fcn.00407de8
push dword [ebp - 0x2a8]
push 0x443ff0
lea eax, [ebp - 0x2ac]
push eax
movzx eax, word [ebp - 0x286]
mov cl, 0x30
mov edx, 2
call fcn.00407de8
push dword [ebp - 0x2ac]
push 0x4442dc
lea eax, [ebp - 0x298]
mov edx, 0xa
call fcn.004038d0
mov eax, dword [ebp - 0x298]
push eax
lea eax, [ebp - 0x29c]
mov ecx, 0x4442e8
mov edx, dword [ebp - 0x18]
call fcn.0040385c
mov eax, dword [ebp - 0x29c]
pop edx
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x443b0e
lea edx, [ebp - 0x298]
mov eax, dword [ebp - 0x10]
call fcn.00430198
cmp dword [ebp - 0x298], 0
jne 0x443b64
mov eax, dword [ebp - 0x14]
call fcn.00409014
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jne 0x443b3d
cmp dword [ebp - 0x28], 0
je 0x443b84
push ebp
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x298]
call fcn.00409100
mov edx, dword [ebp - 0x298]
mov eax, 0x4442fc
call fcn.00442f74
pop ecx
jmp 0x443b84
push ebp
lea edx, [ebp - 0x298]
mov eax, dword [ebp - 0x10]
call fcn.00430198
mov edx, dword [ebp - 0x298]
mov eax, 0x4442fc
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x443b98
xor eax, eax
push ebp
push 0x443c2c
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x444304
call sub.kernel32.dll_GetModuleHandleA_1
mov ebx, eax
test ebx, ebx
je 0x443c22
push 0x104
lea eax, [ebp - 0x13d]
push eax
push ebx
call sub.kernel32.dll_GetModuleFileNameA_2
test eax, eax
jbe 0x443c22
lea eax, [ebp - 0x298]
lea edx, [ebp - 0x13d]
mov ecx, 0x105
call fcn.004037e4
mov eax, dword [ebp - 0x298]
call fcn.00409014
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jne 0x443bfd
cmp dword [ebp - 0x28], 0
je 0x443c22
push ebp
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x298]
call fcn.00409100
mov edx, dword [ebp - 0x298]
mov eax, 0x444318
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x443c36
xor eax, eax
push ebp
push 0x443c5f
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov edx, 0x44432c
mov eax, 0x444340
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x443c69
lea ecx, [ebp - 0x18]
mov edx, 0x44435c
mov eax, dword [ebp - 0x10]
call fcn.00432bf8
mov dl, 0x7c
mov eax, dword [ebp - 0x18]
call fcn.004081f8
test eax, eax
jle 0x443d88
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x2c], 1
xor eax, eax
push ebp
push 0x443d72
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x14]
push eax
mov cl, 0x7c
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
call fcn.0040826c
mov eax, dword [0x451670]
call fcn.00404254
mov ebx, eax
test ebx, ebx
jl 0x443d68
inc ebx
mov dword [ebp - 0x30], 0
mov esi, dword [ebp - 0x30]
lea esi, [esi + esi*4]
mov eax, dword [0x451670]
mov eax, dword [eax + esi*4]
mov edx, dword [ebp - 0x14]
call fcn.004073f4
test al, al
je 0x443d5e
mov eax, dword [0x451670]
cmp byte [eax + esi*4 + 0x10], 0
jne 0x443d68
mov eax, dword [0x451670]
cmp dword [eax + esi*4 + 8], 0
je 0x443d2a
push ebp
mov eax, dword [0x451670]
mov ebx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x298]
call ebx
mov edx, dword [ebp - 0x298]
mov eax, dword [0x451670]
mov eax, dword [eax + esi*4]
call fcn.00442f74
pop ecx
jmp 0x443d68
push ebp
mov eax, dword [0x451670]
mov ebx, dword [eax + esi*4 + 0xc]
lea edx, [ebp - 0x298]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x443d46
sub eax, 0xfffffe34
call ebx
mov edx, dword [ebp - 0x298]
mov eax, dword [0x451670]
mov eax, dword [eax + esi*4]
call fcn.00442f74
pop ecx
jmp 0x443d68
inc dword [ebp - 0x30]
dec ebx
jne 0x443cd0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x443d7c
inc dword [ebp - 0x2c]
dec dword [ebp - 0x38]
jne 0x443c95
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x30], eax
xor eax, eax
push ebp
push 0x443db8
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov edx, 0x44436c
mov eax, 0x44438c
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x443dc2
xor eax, eax
push ebp
push 0x443e18
push dword fs:[eax]
mov dword fs:[eax], esp
add dword [0x44f4d0], 1
adc dword [0x44f4d4], 0
push ebp
push dword [0x44f4d4]
push dword [0x44f4d0]
lea ecx, [ebp - 0x298]
mov dl, 0x30
mov eax, 1
call fcn.00407e34
mov edx, dword [ebp - 0x298]
mov eax, 0x4443a4
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x443e22
xor eax, eax
push ebp
push 0x443eba
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x10]
cmp byte [eax + 0x4f], 1
je 0x443e90
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x50]
call fcn.004297c4
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x10]
call fcn.00442c44
push ebp
mov edx, dword [ebp - 0x18]
mov eax, 0x4443c0
call fcn.00442f74
pop ecx
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
call fcn.00403920
je 0x443eb0
push ebp
lea edx, [ebp - 0x298]
mov eax, dword [ebp - 0x14]
call fcn.004298d8
mov edx, dword [ebp - 0x298]
mov eax, 0x4443d8
call fcn.00442f74
pop ecx
jmp 0x443eb0
push ebp
lea edx, [ebp - 0x298]
mov eax, dword [ebp - 0x10]
call fcn.00430204
mov edx, dword [ebp - 0x298]
mov eax, 0x4443d8
call fcn.00442f74
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x443ec4
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
call dword [edx + 0xc]
xor eax, eax
push ebp
push 0x443f41
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
dec eax
test eax, eax
jl 0x443f10
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [eax + edx*8 + 4]
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x2c]
mov edx, dword [eax + edx*8]
mov eax, dword [ebp - 0x34]
mov ebx, dword [eax]
call dword [ebx + 0x28]
inc dword [ebp - 0x2c]
dec dword [ebp - 0x38]
jne 0x443eed
lea eax, [ebp - 0x294]
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + 0x150]
mov ecx, 0x443fc0
call fcn.00404934
mov eax, dword [ebp - 0x294]
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 0x443f4b
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
call dword [edx + 0x10]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x443fb7
lea eax, [ebp - 0x2d4]
mov edx, dword [0x408b34]
call fcn.00403e0c
lea eax, [ebp - 0x2b4]
mov edx, 8
call fcn.00403618
lea eax, [ebp - 0x294]
call fcn.00404900
lea eax, [ebp - 0x34]
call fcn.00404900
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.00403618
lea eax, [ebp - 8]
mov edx, dword [0x442e08]
call fcn.0040451c
ret