Function at 0x44e2e0
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.0043bc94
mov ecx, dword [edi]
mov edx, eax
call fcn.00404f95
mov edi, eax
xor esi, esi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], edi
test ax, ax
je 0x44e3f0
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.0041b8fa
pop ecx
push esi
push esi
push esi
push 0xb
pop edx
mov ecx, ebx
call fcn.0041b8a1
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.0041bb07
mov ecx, dword [esp + 0x28]
add esp, 0x10
mov edx, esi
mov dword [ecx + 0x14], eax
mov ecx, ebx
call fcn.0041c004
mov ecx, dword [ebx + 0x6c]
xor esi, esi
mov dword [eax + 8], ecx
cmp dword [esp + 0x1c], esi
jbe 0x44e3ec
mov edi, dword [esp + 0x40]
lea eax, [esi + ebp]
mov ecx, ebx
push eax
push esi
push edi
push 0x5a
pop edx
call fcn.0041b8a1
add esp, 0xc
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x44e3ce
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
movzx esi, ax
cmp esi, dword [esp + 0x28]
jae 0x44e4ee
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.0044df17
lea ecx, [esi + ebp]
mov dword [esp + 0x50], eax
add esp, 0x10
cmp eax, ecx
je 0x44e458
cmp dword [esp + 0x34], 1
jne 0x44e445
mov ecx, dword [esp + 0x20]
mov edx, ebp
call fcn.0042eda4
mov ebp, dword [esp + 0x40]
jmp 0x44e458
push 0
push ecx
mov ecx, dword [esp + 0x2c]
push eax
push 0x4f
pop edx
call fcn.0041b8a1
add esp, 0xc
movzx eax, word [ebx + 0xc]
test al, 1
je 0x44e470
mov eax, dword [ebx]
mov ecx, 0x800
test dword [eax + 4], ecx
je 0x44e4e3
test edi, edi
jmp 0x44e4dd
test eax, 0x100
jne 0x44e4e3
mov eax, dword [ebx]
mov ecx, 0x800
mov eax, dword [eax + 0x10]
mov dword [esp + 0x40], eax
test word [ebx + 0xa], cx
jne 0x44e4b6
mov ecx, eax
call fcn.0042b330
test eax, eax
je 0x44e4b2
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.0041b8a1
add esp, 0xc
mov eax, dword [esp + 0x40]
test edi, edi
je 0x44e4e3
mov dl, byte [esi + edi]
mov ecx, eax
call fcn.00429bbc
cmp al, 0x41
jne 0x44e4cf
mov byte [esi + edi], al
mov dl, al
jmp 0x44e4d2
mov dl, byte [esi + edi]
mov ecx, dword [esp + 0x40]
call fcn.0042b391
test eax, eax
je 0x44e4e3
mov byte [esi + edi], 0x41
inc esi
cmp esi, dword [esp + 0x28]
jl 0x44e3fd
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret