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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x72
push 0
push 0
dec ecx
jne 0x44ea44
push ebx
push esi
push edi
mov esi, edx
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x44fb7c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x150], 0
jne 0x44ea97
mov dl, 1
mov eax, dword [0x435e80]
call fcn.0043e34c
mov ebx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x1c]
add eax, 0x150
mov edx, ebx
test edx, edx
je 0x44ea92
sub edx, 0xffffffc0
call fcn.004087e4
mov eax, esi
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
call fcn.004087e4
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x174], 0
je 0x44face
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x150]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x44face
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
call fcn.004087e4
lea eax, [ebp - 0x290]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
mov ecx, 0x44fb90
call fcn.00408810
mov eax, dword [ebp - 0x290]
mov edx, dword [eax]
call dword [edx + 0x18]
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x44ec59
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x298]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1d4]
mov cl, 0x30
mov edx, 4
call fcn.0040d988
push dword [ebp - 0x298]
push 0x44fbac
lea eax, [ebp - 0x29c]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1d6]
mov cl, 0x30
mov edx, 2
call fcn.0040d988
push dword [ebp - 0x29c]
push 0x44fbac
lea eax, [ebp - 0x2a0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1da]
mov cl, 0x30
mov edx, 2
call fcn.0040d988
push dword [ebp - 0x2a0]
push 0x44fbbc
lea eax, [ebp - 0x2a4]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1dc]
mov cl, 0x30
mov edx, 2
call fcn.0040d988
push dword [ebp - 0x2a4]
push 0x44fbcc
lea eax, [ebp - 0x2a8]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1de]
mov cl, 0x30
mov edx, 2
call fcn.0040d988
push dword [ebp - 0x2a8]
push 0x44fbcc
lea eax, [ebp - 0x2ac]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1e0]
mov cl, 0x30
mov edx, 2
call fcn.0040d988
push dword [ebp - 0x2ac]
push 0x44fbbc
lea eax, [ebp - 0x2b0]
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, word [eax + 0x1e2]
mov cl, 0x30
mov edx, 1
call fcn.0040d988
push dword [ebp - 0x2b0]
push 0x44fbdc
lea eax, [ebp - 0x294]
mov edx, 0xe
call fcn.00405db8
mov edx, dword [ebp - 0x294]
mov eax, 0x44fbec
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ec63
xor eax, eax
push ebp
push 0x44ec98
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2b4]
call fcn.00430a70
mov edx, dword [ebp - 0x2b4]
mov eax, 0x44fc04
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44eca2
xor eax, eax
push ebp
push 0x44ecd7
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2b8]
call fcn.0044d66c
mov edx, dword [ebp - 0x2b8]
mov eax, 0x44fc20
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ece1
xor eax, eax
push ebp
push 0x44ed4a
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebp - 0x20], 0x104
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x139]
push eax
call fcn.004093ec
lea eax, [ebp - 0x10]
lea edx, [ebp - 0x139]
mov ecx, 0x105
push 0
call fcn.00405be0
call fcn.0044d5ac
test al, al
je 0x44ed31
lea eax, [ebp - 0x10]
mov edx, 0x44fc3c
call fcn.00405c70
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x44fc54
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ed54
xor eax, eax
push ebp
push 0x44ee39
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00409848
test eax, 0x80000000
jne 0x44ed7d
lea eax, [ebp - 0x10]
mov edx, 0x44fc6c
call fcn.00405958
jmp 0x44ed85
lea eax, [ebp - 0x10]
call fcn.004058a8
lea eax, [ebp - 0x14]
push eax
push 0x44fc7c
push dword [ebp - 0x10]
push 0x44fca4
lea eax, [ebp - 0x2bc]
mov edx, 3
call fcn.00405db8
mov edx, dword [ebp - 0x2bc]
mov ecx, 0x44fcc0
mov eax, 0x80000002
call fcn.00430aa8
lea eax, [ebp - 0x2c0]
push eax
push 0x44fc7c
push dword [ebp - 0x10]
push 0x44fca4
lea eax, [ebp - 0x2c4]
mov edx, 3
call fcn.00405db8
mov edx, dword [ebp - 0x2c4]
mov ecx, 0x44fce4
mov eax, 0x80000002
call fcn.00430aa8
mov edx, dword [ebp - 0x2c0]
lea eax, [ebp - 0x10]
call fcn.00405958
cmp dword [ebp - 0x14], 0
je 0x44ee20
push dword [ebp - 0x10]
push 0x44fd00
push dword [ebp - 0x14]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00405db8
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x44fd10
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ee43
xor eax, eax
push ebp
push 0x44ee78
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2c8]
call fcn.0044d9ec
mov edx, dword [ebp - 0x2c8]
mov eax, 0x44fd30
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ee82
xor eax, eax
push ebp
push 0x44eeb7
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2cc]
call fcn.0044da9c
mov edx, dword [ebp - 0x2cc]
mov eax, 0x44fd50
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44eec1
xor eax, eax
push ebp
push 0x44eef6
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2d0]
call fcn.0044dae4
mov edx, dword [ebp - 0x2d0]
mov eax, 0x44fd6c
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ef00
xor eax, eax
push ebp
push 0x44ef35
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2d4]
call fcn.0044db3c
mov edx, dword [ebp - 0x2d4]
mov eax, 0x44fd88
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44ef3f
xor eax, eax
push ebp
push 0x44efca
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
call fcn.0044dc40
cmp dword [ebp - 0x10], 0
je 0x44efc0
call fcn.0044dcf0
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jne 0x44ef7a
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x44fda4
call fcn.0044e954
pop ecx
jmp 0x44efc0
push ebp
lea eax, [ebp - 0x2dc]
push eax
mov cl, 0x30
mov edx, 1
mov eax, dword [ebp - 0x2c]
call fcn.0040d86c
push dword [ebp - 0x2dc]
push 0x44fdbc
push dword [ebp - 0x10]
lea eax, [ebp - 0x2d8]
mov edx, 3
call fcn.00405db8
mov edx, dword [ebp - 0x2d8]
mov eax, 0x44fdcc
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44efd4
xor eax, eax
push ebp
push 0x44f009
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x2e0]
call fcn.0044dde4
mov edx, dword [ebp - 0x2e0]
mov eax, 0x44fde4
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f013
lea eax, [ebp - 0x300]
call fcn.00416010
cmp byte [ebp - 0x2f0], 0
je 0x44f066
xor eax, eax
push ebp
push 0x44f05c
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x304]
call fcn.0044df64
mov edx, dword [ebp - 0x304]
mov eax, 0x44fe00
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f066
xor eax, eax
push ebp
push 0x44f15e
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x44fe14
push 0x44fe3c
call fcn.0040973c
push eax
call fcn.0040976c
mov dword [ebp - 8], eax
push 0x104
lea eax, [ebp - 0x139]
push eax
call fcn.00409870
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.0043037c
lea eax, [ebp - 0x10]
xor edx, edx
call fcn.00405ab8
movzx eax, byte [eax]
call fcn.0040c028
mov ebx, eax
movzx eax, byte [ebp - 0x139]
call fcn.0040c028
cmp bl, al
je 0x44f12e
push ebp
push ebp
lea edx, [ebp - 0x30c]
movzx eax, byte [ebp - 0x139]
call fcn.0044e7dc
pop ecx
push dword [ebp - 0x30c]
push 0x44fe64
push ebp
lea eax, [ebp - 0x10]
xor edx, edx
call fcn.00405ab8
movzx eax, byte [eax]
lea edx, [ebp - 0x310]
call fcn.0044e7dc
pop ecx
push dword [ebp - 0x310]
lea eax, [ebp - 0x308]
mov edx, 3
call fcn.00405db8
mov edx, dword [ebp - 0x308]
mov eax, 0x44fe74
call fcn.0044e954
pop ecx
jmp 0x44f154
push ebp
push ebp
lea edx, [ebp - 0x314]
movzx eax, byte [ebp - 0x139]
call fcn.0044e7dc
pop ecx
mov edx, dword [ebp - 0x314]
mov eax, 0x44fe74
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f168
xor eax, eax
push ebp
push 0x44f19d
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x318]
call fcn.0044e020
mov edx, dword [ebp - 0x318]
mov eax, 0x44fe90
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f1a7
xor eax, eax
push ebp
push 0x44f1e9
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x31c]
push eax
call fcn.0040968c
mov cl, 0x30
mov edx, 1
call fcn.0040da34
mov edx, dword [ebp - 0x31c]
mov eax, 0x44feac
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f1f3
xor eax, eax
push ebp
push 0x44f228
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x320]
call fcn.0044e1fc
mov edx, dword [ebp - 0x320]
mov eax, 0x44fec4
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f232
xor eax, eax
push ebp
push 0x44f285
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x580408], 0
je 0x44f27b
call fcn.00403488
test eax, eax
jle 0x44f27b
push ebp
call fcn.0040966c
mov edx, eax
lea eax, [ebp - 0x324]
mov ecx, 0
call fcn.00405b5c
mov edx, dword [ebp - 0x324]
mov eax, 0x44fee4
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f28f
xor eax, eax
push ebp
push 0x44f2d7
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea edx, [ebp - 0x32c]
xor eax, eax
call fcn.0043037c
mov eax, dword [ebp - 0x32c]
lea edx, [ebp - 0x328]
call fcn.004303b0
mov edx, dword [ebp - 0x328]
mov eax, 0x44ff00
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f2e1
xor eax, eax
push ebp
push 0x44f33b
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
call fcn.0040973c
cmp eax, dword [0x58bb20]
je 0x44f331
push ebp
lea edx, [ebp - 0x334]
mov eax, dword [0x58bb20]
call fcn.0043037c
mov eax, dword [ebp - 0x334]
lea edx, [ebp - 0x330]
call fcn.004303b0
mov edx, dword [ebp - 0x330]
mov eax, 0x44ff18
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f345
xor eax, eax
push ebp
push 0x44f588
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x5804a8], 0
je 0x44f368
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.0043037c
jmp 0x44f375
lea edx, [ebp - 0x10]
mov eax, dword [0x58bb20]
call fcn.0043037c
lea eax, [ebp - 0x27c]
push eax
mov eax, dword [ebp - 0x10]
call fcn.00405f64
push eax
call fcn.004095cc
mov ebx, eax
cmp ebx, 0xffffffff
je 0x44f57e
push ebx
call fcn.004095bc
xor eax, eax
push ebp
push 0x44f4fe
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x268]
push eax
lea eax, [ebp - 0x268]
push eax
call fcn.004095ac
lea eax, [ebp - 0x28c]
push eax
lea eax, [ebp - 0x268]
push eax
call fcn.004095b4
cmp byte [0x5804a8], 0
jne 0x44f3e7
push 0
call fcn.0040973c
cmp eax, dword [0x58bb20]
jne 0x44f3f6
lea eax, [ebp - 0x14]
mov edx, 0x44ff34
call fcn.00405958
jmp 0x44f403
lea eax, [ebp - 0x14]
mov edx, 0x44ff48
call fcn.00405958
push ebp
lea eax, [ebp - 0x33c]
push eax
movzx eax, word [ebp - 0x28c]
mov cl, 0x30
mov edx, 4
call fcn.0040d988
push dword [ebp - 0x33c]
push 0x44fbac
lea eax, [ebp - 0x340]
push eax
movzx eax, word [ebp - 0x28a]
mov cl, 0x30
mov edx, 2
call fcn.0040d988
push dword [ebp - 0x340]
push 0x44fbac
lea eax, [ebp - 0x344]
push eax
movzx eax, word [ebp - 0x286]
mov cl, 0x30
mov edx, 2
call fcn.0040d988
push dword [ebp - 0x344]
push 0x44fe64
lea eax, [ebp - 0x348]
push eax
movzx eax, word [ebp - 0x284]
mov cl, 0x30
mov edx, 2
call fcn.0040d988
push dword [ebp - 0x348]
push 0x44fbcc
lea eax, [ebp - 0x34c]
push eax
movzx eax, word [ebp - 0x282]
mov cl, 0x30
mov edx, 2
call fcn.0040d988
push dword [ebp - 0x34c]
push 0x44ff5c
lea eax, [ebp - 0x338]
mov edx, 0xa
call fcn.00405db8
mov eax, dword [ebp - 0x338]
push eax
lea eax, [ebp - 0x350]
mov ecx, 0x44ff6c
mov edx, dword [ebp - 0x14]
call fcn.00405cec
mov eax, dword [ebp - 0x350]
pop edx
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f508
lea edx, [ebp - 0x354]
mov eax, dword [ebp - 0x1c]
call fcn.00439f3c
cmp dword [ebp - 0x354], 0
jne 0x44f55e
mov eax, dword [ebp - 0x10]
call fcn.004165c4
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jne 0x44f537
cmp dword [ebp - 0x28], 0
je 0x44f57e
push ebp
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x358]
call fcn.004167b4
mov edx, dword [ebp - 0x358]
mov eax, 0x44ff84
call fcn.0044e954
pop ecx
jmp 0x44f57e
push ebp
lea edx, [ebp - 0x35c]
mov eax, dword [ebp - 0x1c]
call fcn.00439f3c
mov edx, dword [ebp - 0x35c]
mov eax, 0x44ff84
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f592
xor eax, eax
push ebp
push 0x44f628
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x44ff8c
call fcn.0040973c
mov ebx, eax
test ebx, ebx
je 0x44f61e
push 0x104
lea eax, [ebp - 0x139]
push eax
push ebx
call fcn.0040972c
test eax, eax
jbe 0x44f61e
lea eax, [ebp - 0x360]
lea edx, [ebp - 0x139]
mov ecx, 0x105
push 0
call fcn.00405be0
mov eax, dword [ebp - 0x360]
call fcn.004165c4
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jne 0x44f5f9
cmp dword [ebp - 0x28], 0
je 0x44f61e
push ebp
push dword [ebp - 0x24]
push dword [ebp - 0x28]
lea eax, [ebp - 0x364]
call fcn.004167b4
mov edx, dword [ebp - 0x364]
mov eax, 0x44ffb0
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f632
xor eax, eax
push ebp
push 0x44f6d9
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x44f68c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x58bb20]
call fcn.004172ac
cmp byte [eax + 0x1a], 2
je 0x44f671
push ebp
mov edx, 0x44ffc8
mov eax, 0x44ffe0
call fcn.0044e954
pop ecx
jmp 0x44f682
push ebp
mov edx, 0x44fffc
mov eax, 0x44ffe0
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f6a7
push ebp
lea eax, [ebp - 0x368]
mov edx, dword [0x5803f8]
mov ecx, 0
call fcn.00405b5c
mov edx, dword [ebp - 0x368]
mov eax, 0x450014
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f6e3
lea ecx, [ebp - 0x14]
mov edx, 0x450034
mov eax, dword [ebp - 0x1c]
call fcn.0043cc1c
mov dl, 0x7c
mov eax, dword [ebp - 0x14]
call fcn.0040de14
test eax, eax
jle 0x44f8b7
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 1
xor eax, eax
push ebp
push 0x44f8a1
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x10]
push eax
mov cl, 0x7c
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
call fcn.0040ded8
mov eax, dword [0x58cc98]
call fcn.00407d10
mov ebx, eax
test ebx, ebx
jl 0x44f897
inc ebx
mov dword [ebp - 0x30], 0
mov esi, dword [ebp - 0x30]
mov eax, esi
add esi, esi
add esi, esi
add esi, esi
sub esi, eax
mov eax, dword [0x58cc98]
mov eax, dword [eax + esi*4]
mov edx, dword [ebp - 0x10]
call fcn.0040c204
test al, al
je 0x44f88d
mov eax, dword [0x58cc98]
cmp byte [eax + esi*4 + 0x18], 0
jne 0x44f897
mov eax, dword [0x58cc98]
cmp dword [eax + esi*4 + 8], 0
je 0x44f7b6
push ebp
mov eax, dword [0x58cc98]
mov ebx, dword [eax + esi*4 + 8]
lea eax, [ebp - 0x36c]
call ebx
mov edx, dword [ebp - 0x36c]
mov eax, dword [0x58cc98]
mov eax, dword [eax + esi*4]
call fcn.0044e954
pop ecx
jmp 0x44f897
mov eax, dword [0x58cc98]
cmp dword [eax + esi*4 + 0xc], 0
je 0x44f803
push ebp
mov eax, dword [0x58cc98]
mov ebx, dword [eax + esi*4 + 0xc]
lea eax, [ebp - 0x374]
call ebx
mov edx, dword [ebp - 0x374]
lea eax, [ebp - 0x370]
mov ecx, 0
call fcn.0040698c
mov edx, dword [ebp - 0x370]
mov eax, dword [0x58cc98]
mov eax, dword [eax + esi*4]
call fcn.0044e954
pop ecx
jmp 0x44f897
mov eax, dword [0x58cc98]
cmp dword [eax + esi*4 + 0x10], 0
je 0x44f843
push ebp
mov eax, dword [0x58cc98]
mov ebx, dword [eax + esi*4 + 0x10]
lea edx, [ebp - 0x378]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x44f82b
sub eax, 0xfffffe18
call ebx
mov edx, dword [ebp - 0x378]
mov eax, dword [0x58cc98]
mov eax, dword [eax + esi*4]
call fcn.0044e954
pop ecx
jmp 0x44f897
push ebp
mov eax, dword [0x58cc98]
mov ebx, dword [eax + esi*4 + 0x14]
lea edx, [ebp - 0x380]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x44f85f
sub eax, 0xfffffe18
call ebx
mov edx, dword [ebp - 0x380]
lea eax, [ebp - 0x37c]
mov ecx, 0
call fcn.0040698c
mov edx, dword [ebp - 0x37c]
mov eax, dword [0x58cc98]
mov eax, dword [eax + esi*4]
call fcn.0044e954
pop ecx
jmp 0x44f897
inc dword [ebp - 0x30]
dec ebx
jne 0x44f74a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f8ab
inc dword [ebp - 0x2c]
dec dword [ebp - 0x34]
jne 0x44f70f
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0x30], eax
xor eax, eax
push ebp
push 0x44f8e7
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
mov edx, 0x450048
mov eax, 0x45006c
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f8f1
xor eax, eax
push ebp
push 0x44f947
push dword fs:[eax]
mov dword fs:[eax], esp
add dword [0x580cf8], 1
adc dword [0x580cfc], 0
push ebp
push dword [0x580cfc]
push dword [0x580cf8]
lea ecx, [ebp - 0x384]
mov dl, 0x30
mov eax, 1
call fcn.0040d9e0
mov edx, dword [ebp - 0x384]
mov eax, 0x450088
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44f951
xor eax, eax
push ebp
push 0x44fa35
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x4f], 1
je 0x44fa0b
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
call fcn.0044e630
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
call fcn.0044e5c4
push ebp
mov edx, dword [ebp - 0x14]
mov eax, 0x4500a8
call fcn.0044e954
pop ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
call fcn.00405f4c
je 0x44fa2b
lea edx, [ebp - 0x388]
mov eax, dword [ebp - 0x10]
call fcn.004326d0
mov edx, dword [ebp - 0x388]
lea eax, [ebp - 0x10]
call fcn.00405958
push 0
lea eax, [ebp - 0x10]
mov ecx, 0x44fe64
mov edx, 0x4500c4
call fcn.0040bef0
push 0
lea eax, [ebp - 0x10]
mov ecx, 0x44fe64
mov edx, 0x4500d4
call fcn.0040bef0
push 1
lea eax, [ebp - 0x10]
mov ecx, 0x44fe64
mov edx, 0x4500e4
call fcn.0040bef0
push ebp
mov edx, dword [ebp - 0x10]
mov eax, 0x4500f4
call fcn.0044e954
pop ecx
jmp 0x44fa2b
push ebp
lea edx, [ebp - 0x38c]
mov eax, dword [ebp - 0x1c]
call fcn.00439fb0
mov edx, dword [ebp - 0x38c]
mov eax, 0x4500f4
call fcn.0044e954
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x44fa3f
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
call dword [edx + 0xc]
xor eax, eax
push ebp
push 0x44fabc
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
dec eax
test eax, eax
jl 0x44fa8b
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [eax + edx*8 + 4]
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x2c]
mov edx, dword [eax + edx*8]
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x28]
inc dword [ebp - 0x2c]
dec dword [ebp - 0x34]
jne 0x44fa68
lea eax, [ebp - 0x390]
mov edx, dword [ebp - 0x1c]
mov edx, dword [edx + 0x150]
mov ecx, 0x44fb90
call fcn.00408810
mov eax, dword [ebp - 0x390]
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 0x44fac6
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 0x44fb86
lea eax, [ebp - 0x390]
call fcn.004087cc
lea eax, [ebp - 0x38c]
mov edx, 3
call fcn.004058cc
lea eax, [ebp - 0x380]
call fcn.00406738
lea eax, [ebp - 0x37c]
mov edx, 2
call fcn.004058cc
lea eax, [ebp - 0x374]
call fcn.00406738
lea eax, [ebp - 0x370]
mov edx, 0x1c
call fcn.004058cc
lea eax, [ebp - 0x300]
mov edx, dword [0x415ef4]
call fcn.004071d8
lea eax, [ebp - 0x2e0]
mov edx, 0x14
call fcn.004058cc
lea eax, [ebp - 0x290]
call fcn.004087cc
lea eax, [ebp - 0x18]
call fcn.004087cc
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004058cc
lea eax, [ebp - 4]
mov edx, dword [0x44e7a8]
call fcn.00407ff0
ret