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

Disassembly:
test dword [0x4b63ec], 0xffffff80
jne 0x440a44
test dword [0x4b63ec], 0xffffffff
jne 0x440c38
call fcn.00490ee4
jmp fcn.00440a1c
push edi
push esi
push ebp
push ebx
sub esp, 0x60
mov ebx, ecx
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x50], eax
lea eax, [edx + edx]
add eax, edx
add eax, eax
add eax, eax
push eax
push 0
push dword [ebx + 0x1984]
call fcn.004910c4
add esp, 0xc
movzx edx, byte [ebx + 0x12]
xor esi, esi
mov eax, 1
test edx, edx
mov edi, eax
movzx ebp, byte [ebx + 0x22]
je 0x440a8a
mov edi, esi
test ebp, ebp
mov edx, eax
movzx ecx, word [ebx + 0x24]
je 0x440a96
mov edx, esi
cmp edi, edx
movzx edx, word [ebx + 0x26]
cmovne esi, eax
movzx eax, word [ebx + 0x28]
movzx ebp, byte [ebx + 0x2a]
mov dword [esp + 4], ebp
movzx ebp, byte [ebx + 0x2b]
movzx edi, byte [ebx + 0x2c]
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x7c]
test ebp, ebp
jle 0x440c06
mov dword [esp + 0x40], edi
mov ebp, dword [esp + 0x54]
mov edi, dword [esp + 4]
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x1984]
mov dword [esp + 0x48], edx
xor edx, edx
mov dword [esp + 0x44], ecx
test ebp, ebp
jle 0x440c10
mov dword [esp + 0x5c], eax
xor ecx, ecx
mov edi, dword [esp + 0x50]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 8], ecx
xor ecx, ecx
mov dword [esp + 4], edx
mov dword [esp], ebx
movzx edx, word [edi]
test esi, esi
je 0x440b3a
mov eax, edx
shl eax, 8
sar edx, 8
or eax, edx
movzx edx, ax
mov dword [esp + 0x54], ecx
xor ebx, ebx
xor eax, eax
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x50], edi
mov ebp, dword [esp + eax*4 + 8]
mov edi, dword [esp + eax*4 + 0x14]
mov dword [esp + eax*4 + 0x20], ebp
mov ebp, edx
mov dword [esp + eax*4 + 0x2c], edi
mov ecx, dword [esi]
mov dword [esp + eax*4 + 8], ecx
mov ecx, dword [esp + eax*4 + 0x38]
sar ebp, cl
and ebp, dword [esp + eax*4 + 0x44]
mov dword [esp + eax*4 + 0x14], ebp
mov dword [esi], ebp
mov ecx, dword [esp + eax*4 + 0x2c]
add esi, 4
add ecx, dword [esp + eax*4 + 8]
sub ecx, dword [esp + eax*4 + 0x20]
test ecx, ecx
jl 0x440b94
mov edi, dword [esp + eax*4 + 0x44]
cmp edi, ecx
cmovl ecx, edi
jmp 0x440b9a
xor ecx, ecx
mov edi, dword [esp + eax*4 + 0x44]
mov ebp, dword [esp + eax*4 + 0x14]
sub ebp, ecx
and ebp, edi
mov ecx, dword [esp + eax*4 + 0x38]
inc eax
shl ebp, cl
or ebx, ebp
movzx ebx, bx
cmp eax, 3
jl 0x440b4e
mov dword [esp + 0x5c], esi
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
mov ebp, dword [esp + 0x78]
mov edi, dword [esp + 0x50]
test esi, esi
je 0x440bd8
mov eax, ebx
shl eax, 8
sar ebx, 8
or eax, ebx
movzx ebx, ax
mov word [edi], bx
add edi, 2
inc ecx
cmp ecx, ebp
jl 0x440b26
mov dword [esp + 0x50], edi
mov edx, dword [esp + 4]
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp]
inc edx
cmp edx, edi
jge 0x440c06
mov eax, dword [ebx + 0x1984]
jmp 0x440af3
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret 0xc
inc edx
cmp edx, edi
jl 0x440af3
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], eax
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret 0xc
push edi
push esi
push ebp
push ebx
sub esp, 0x60
mov ebx, ecx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0x78]
lea eax, [edx + edx]
add eax, edx
add eax, eax
add eax, eax
push eax
push 0
push dword [ebx + 0x1984]
call fcn.004910c4
add esp, 0xc
movzx eax, byte [ebx + 0x12]
test eax, eax
mov eax, 0
sete al
movzx edx, byte [ebx + 0x22]
test edx, edx
mov edx, 0
sete dl
cmp eax, edx
mov eax, 0
setne al
mov dword [esp + 0x50], eax
movzx ecx, word [ebx + 0x24]
movzx edx, word [ebx + 0x26]
movzx eax, word [ebx + 0x28]
movzx ebp, byte [ebx + 0x2a]
mov dword [esp + 4], ebp
movzx edi, byte [ebx + 0x2b]
movzx ebp, byte [ebx + 0x2c]
mov esi, dword [esp + 0x7c]
test esi, esi
jle 0x440df5
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], edi
mov ebp, dword [esp + 4]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
xor edx, edx
mov eax, dword [ebx + 0x1984]
mov ecx, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x54]
test esi, esi
jle 0x440dff
xor ebp, ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 8], ebp
xor ebp, ebp
mov dword [esp + 0x5c], eax
mov dword [esp + 4], edx
mov dword [esp], ebx
mov ecx, dword [esp + 0x50]
movzx edx, word [edi]
test ecx, ecx
je 0x440d30
mov eax, edx
shl eax, 8
sar edx, 8
or eax, edx
movzx edx, ax
xor ebx, ebx
xor eax, eax
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], edi
mov esi, dword [esp + 0x5c]
mov ebp, dword [esp + eax*4 + 8]
mov dword [esp + eax*4 + 0x20], ebp
mov edi, dword [esp + eax*4 + 0x14]
mov dword [esp + eax*4 + 0x2c], edi
mov ecx, dword [esi]
mov dword [esp + eax*4 + 8], ecx
mov ecx, dword [esp + eax*4 + 0x38]
mov ebp, edx
sar ebp, cl
and ebp, dword [esp + eax*4 + 0x44]
mov dword [esp + eax*4 + 0x14], ebp
mov dword [esi], ebp
mov ecx, dword [esp + eax*4 + 0x2c]
add ecx, dword [esp + eax*4 + 8]
sub ecx, dword [esp + eax*4 + 0x20]
add esi, 4
test ecx, ecx
jl 0x440d87
mov edi, dword [esp + eax*4 + 0x44]
cmp ecx, edi
jle 0x440d8d
mov ecx, edi
jmp 0x440d8d
xor ecx, ecx
mov edi, dword [esp + eax*4 + 0x44]
mov ebp, dword [esp + eax*4 + 0x14]
sub ebp, ecx
and ebp, edi
mov ecx, dword [esp + eax*4 + 0x38]
shl ebp, cl
or ebx, ebp
movzx ebx, bx
inc eax
cmp eax, 3
jl 0x440d40
mov dword [esp + 0x5c], esi
mov ebp, dword [esp + 0x58]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x54]
test ecx, ecx
je 0x440dcb
mov eax, ebx
shl eax, 8
sar ebx, 8
or eax, ebx
movzx ebx, ax
mov word [edi], bx
add edi, 2
inc ebp
cmp ebp, esi
jl 0x440d1c
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp]
inc edx
cmp edx, ecx
jge 0x440df5
mov eax, dword [ebx + 0x1984]
jmp 0x440ce9
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret 0xc
inc edx
cmp edx, ecx
jl 0x440ce9
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], eax
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret 0xc