Function at 0x44fe76
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.0043d45a
mov ecx, dword [edi]
mov edx, eax
call fcn.00404b16
mov edi, eax
xor esi, esi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], edi
test ax, ax
je 0x44ff86
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.0041c3f8
pop ecx
push esi
push esi
push esi
push 0xb
pop edx
mov ecx, ebx
call fcn.0041c3a0
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.0041c609
mov ecx, dword [esp + 0x28]
add esp, 0x10
mov edx, esi
mov dword [ecx + 0x14], eax
mov ecx, ebx
call fcn.0041cb08
mov ecx, dword [ebx + 0x6c]
xor esi, esi
mov dword [eax + 8], ecx
cmp dword [esp + 0x1c], esi
jbe 0x44ff82
mov edi, dword [esp + 0x40]
lea eax, [esi + ebp]
mov ecx, ebx
push eax
push esi
push edi
push 0x5a
pop edx
call fcn.0041c3a0
add esp, 0xc
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x44ff64
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
movzx esi, ax
cmp esi, dword [esp + 0x28]
jae 0x450084
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.0044faaa
lea ecx, [esi + ebp]
mov dword [esp + 0x50], eax
add esp, 0x10
cmp eax, ecx
je 0x44ffee
cmp dword [esp + 0x34], 1
jne 0x44ffdb
mov ecx, dword [esp + 0x20]
mov edx, ebp
call fcn.00430107
mov ebp, dword [esp + 0x40]
jmp 0x44ffee
push 0
push ecx
mov ecx, dword [esp + 0x2c]
push eax
push 0x4f
pop edx
call fcn.0041c3a0
add esp, 0xc
movzx eax, word [ebx + 0xc]
test al, 1
je 0x450006
mov eax, dword [ebx]
mov ecx, 0x800
test dword [eax + 4], ecx
je 0x450079
test edi, edi
jmp 0x450073
test eax, 0x100
jne 0x450079
mov eax, dword [ebx]
mov ecx, 0x800
mov eax, dword [eax + 0x10]
mov dword [esp + 0x40], eax
test word [ebx + 0xa], cx
jne 0x45004c
mov ecx, eax
call fcn.0042c536
test eax, eax
je 0x450048
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.0041c3a0
add esp, 0xc
mov eax, dword [esp + 0x40]
test edi, edi
je 0x450079
mov dl, byte [esi + edi]
mov ecx, eax
call fcn.0042ad3d
cmp al, 0x41
jne 0x450065
mov byte [esi + edi], al
mov dl, al
jmp 0x450068
mov dl, byte [esi + edi]
mov ecx, dword [esp + 0x40]
call fcn.0042c597
test eax, eax
je 0x450079
mov byte [esi + edi], 0x41
inc esi
cmp esi, dword [esp + 0x28]
jl 0x44ff93
mov eax, dword [esp + 0x44]
mov dword [eax], edi
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret