Function at 0x44dfd9
Capabilities:
Terminate process

Disassembly:
sub esp, 0x28
push ebx
mov eax, edx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x18], eax
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], edi
mov esi, dword [edi + 0x2c]
movzx eax, word [ecx + 0x2a]
mov edx, dword [ecx + 0x20]
movzx ecx, word [ecx + 0x18]
mov ebx, dword [edi + 8]
lea ebp, [esi + 1]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
add eax, ecx
mov dword [esp + 0x28], ecx
mov ecx, dword [edi]
mov dword [esp + 0x34], eax
add eax, esi
mov dword [esp + 0x24], ebx
mov dword [edi + 0x2c], eax
call fcn.0043b98d
mov ecx, dword [edi]
mov edx, eax
call fcn.00404c8a
mov edi, eax
xor esi, esi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], edi
test ax, ax
je 0x44e0e9
mov eax, dword [esp + 0x18]
mov ecx, ebx
cmp dword [esp + 0x3c], esi
mov eax, dword [eax + 8]
push eax
push 0x24
pop edx
mov dword [esp + 0x44], eax
push 0x20
pop eax
cmovne edx, eax
call fcn.0041b5f2
pop ecx
push esi
push esi
push esi
push 0xb
pop edx
mov ecx, ebx
call fcn.0041b599
add esp, 0xc
mov esi, eax
mov eax, dword [esp + 0x14]
mov ecx, ebx
cmp dword [esp + 0x3c], 0
movzx eax, ax
push eax
push ebp
push 0
push dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
push 0x19
pop edx
push 0x16
pop eax
cmovne edx, eax
call fcn.0041b7ff
mov ecx, dword [esp + 0x28]
add esp, 0x10
mov edx, esi
mov dword [ecx + 0x14], eax
mov ecx, ebx
call fcn.0041bcfc
mov ecx, dword [ebx + 0x6c]
xor esi, esi
mov dword [eax + 8], ecx
cmp dword [esp + 0x1c], esi
jbe 0x44e0e5
mov edi, dword [esp + 0x40]
lea eax, [esi + ebp]
mov ecx, ebx
push eax
push esi
push edi
push 0x5a
pop edx
call fcn.0041b599
add esp, 0xc
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x44e0c7
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
movzx esi, ax
cmp esi, dword [esp + 0x28]
jae 0x44e1e7
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 0x30]
mov ebx, dword [eax + esi*4]
lea eax, [esi + ebp]
push eax
push dword [esp + 0x40]
mov edx, ebx
push esi
push dword [esp + 0x24]
call fcn.0044dc10
lea ecx, [esi + ebp]
mov dword [esp + 0x50], eax
add esp, 0x10
cmp eax, ecx
je 0x44e151
cmp dword [esp + 0x34], 1
jne 0x44e13e
mov ecx, dword [esp + 0x20]
mov edx, ebp
call fcn.0042ea9c
mov ebp, dword [esp + 0x40]
jmp 0x44e151
push 0
push ecx
mov ecx, dword [esp + 0x2c]
push eax
push 0x4f
pop edx
call fcn.0041b599
add esp, 0xc
movzx eax, word [ebx + 0xc]
test al, 1
je 0x44e169
mov eax, dword [ebx]
mov ecx, 0x800
test dword [eax + 4], ecx
je 0x44e1dc
test edi, edi
jmp 0x44e1d6
test eax, 0x100
jne 0x44e1dc
mov eax, dword [ebx]
mov ecx, 0x800
mov eax, dword [eax + 0x10]
mov dword [esp + 0x40], eax
test word [ebx + 0xa], cx
jne 0x44e1af
mov ecx, eax
call fcn.0042b028
test eax, eax
je 0x44e1ab
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
push 0
push dword [eax + 0xc]
lea eax, [esi + ebp]
push eax
push 0x32
pop edx
call fcn.0041b599
add esp, 0xc
mov eax, dword [esp + 0x40]
test edi, edi
je 0x44e1dc
mov dl, byte [esi + edi]
mov ecx, eax
call fcn.004298b4
cmp al, 0x41
jne 0x44e1c8
mov byte [esi + edi], al
mov dl, al
jmp 0x44e1cb
mov dl, byte [esi + edi]
mov ecx, dword [esp + 0x40]
call fcn.0042b089
test eax, eax
je 0x44e1dc
mov byte [esi + edi], 0x41
inc esi
cmp esi, dword [esp + 0x28]
jl 0x44e0f6
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret