Function at 0x44d40f
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
and al, 2
mov byte [ebp - 1], al
push edi
mov edi, ecx
mov ecx, dword [edi]
movsx eax, byte [edi + 0x44]
mov ebx, dword [edi + eax*4 + 0x74]
mov dword [ebp - 8], ecx
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x10], ecx
movzx ecx, word [edi + 0x46]
and dword [ebp - 0x20], 0
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x40]
mov ax, word [eax + ecx*2]
mov dword [ebp - 0x18], ecx
mov ch, al
mov cl, ah
movzx eax, word [ebx + 0x18]
movzx esi, cx
and esi, eax
add esi, dword [ebx + 0x38]
cmp byte [ebp - 1], 0
mov dword [ebp - 0xc], esi
je 0x44d4a8
cmp byte [ebx + 8], 0
je 0x44d499
push esi
push ebx
call fcn.0041d5b1
pop ecx
movzx eax, ax
pop ecx
movzx ecx, word [ebx + 0x14]
lea ecx, [eax + ecx + 2]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x24]
push 3
add eax, eax
xor edx, edx
pop esi
div esi
mov esi, dword [ebp - 0xc]
cmp ecx, eax
jg 0x44d499
mov dword [ebp - 0x20], 1
jmp 0x44d4a8
mov eax, edi
call fcn.0044b939
test eax, eax
jne 0x44d66d
cmp byte [ebx + 8], 0
jne 0x44d4c6
and dword [ebp - 0x1c], 0
lea eax, [ebp - 0x1c]
push eax
push edi
call fcn.0044bf72
pop ecx
pop ecx
test eax, eax
jne 0x44d66d
test byte [edi + 0x40], 0x20
je 0x44d4e2
push dword [edi + 0x34]
mov eax, dword [ebp - 0x10]
mov ecx, edi
call fcn.0044cd32
pop ecx
test eax, eax
jne 0x44d66d
cmp dword [edi + 0x70], 0
jne 0x44d4fe
mov ecx, dword [ebp - 8]
push 0
push dword [edi + 0x14]
push dword [edi + 0x10]
push dword [edi + 0x34]
call fcn.0041d2d1
add esp, 0x10
mov eax, dword [ebx + 0x48]
call fcn.00446b51
test eax, eax
jne 0x44d66d
push esi
push ebx
lea eax, [ebp - 0x3c]
call fcn.00448753
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
movzx eax, word [ebp - 0x2a]
push eax
push dword [ebp - 0x18]
mov esi, ebx
call fcn.0043ae7c
mov eax, dword [ebp - 8]
add esp, 0x14
test eax, eax
jne 0x44d66d
cmp byte [ebx + 8], al
jne 0x44d5f8
movsx eax, byte [edi + 0x44]
mov esi, dword [edi + eax*4 + 0x74]
mov eax, dword [ebp - 0x14]
mov eax, dword [edi + eax*4 + 0x78]
mov eax, dword [eax + 4]
mov edx, dword [esi + 0x40]
mov dword [ebp - 0x24], eax
movzx eax, word [esi + 0x16]
mov ax, word [edx + eax*2 - 2]
mov ecx, dword [esi + 0x38]
mov dh, al
mov dl, ah
movzx eax, dx
movzx edx, word [esi + 0x18]
and eax, edx
add eax, ecx
add ecx, 4
mov dword [ebp - 0xc], eax
cmp eax, ecx
jae 0x44d592
push 0x1074f
call fcn.00438815
pop ecx
jmp 0x44d66d
push eax
push esi
call dword [esi + 0x4c]
movzx eax, ax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x50]
pop ecx
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x48]
pop ecx
call fcn.00446b51
mov dword [ebp - 8], eax
test eax, eax
jne 0x44d5dc
lea eax, [ebp - 8]
push eax
push dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
add eax, 4
push eax
mov eax, dword [ebp - 0xc]
add eax, 0xfffffffc
push eax
push dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov ecx, ebx
call fcn.00448ac5
add esp, 0x14
lea eax, [ebp - 8]
push eax
movzx eax, word [esi + 0x16]
push dword [ebp - 0x1c]
dec eax
push eax
call fcn.0043ae7c
mov eax, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x44d66d
call fcn.00449b49
test eax, eax
jne 0x44d66d
movsx ecx, byte [edi + 0x44]
cmp ecx, dword [ebp - 0x14]
jle 0x44d630
mov cl, byte [edi + 0x44]
movsx eax, cl
mov eax, dword [edi + eax*4 + 0x74]
dec cl
mov byte [edi + 0x44], cl
call fcn.0041d705
movsx eax, byte [edi + 0x44]
cmp eax, dword [ebp - 0x14]
jg 0x44d60a
call fcn.00449b49
test eax, eax
jne 0x44d66d
cmp dword [ebp - 0x20], 0
je 0x44d65c
mov byte [edi + 0x42], 2
movzx ecx, word [ebx + 0x16]
cmp dword [ebp - 0x18], ecx
jl 0x44d653
or dword [edi + 0x3c], 0xffffffff
mov cx, word [ebx + 0x16]
dec cx
mov word [edi + 0x46], cx
jmp 0x44d66d
mov dword [edi + 0x3c], 1
jmp 0x44d66d
mov eax, edi
call fcn.0043ac94
cmp byte [ebp - 1], 0
je 0x44d66d
mov byte [edi + 0x42], 3
pop edi
pop esi
pop ebx
leave
ret