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

Disassembly:
test dword [0x4b63ec], 0xffffff80
jne 0x440e4c
test dword [0x4b63ec], 0xffffffff
jne 0x441074
call fcn.00490ee4
jmp fcn.00440e24
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 ebp, byte [ebx + 0x12]
xor edx, edx
mov eax, 1
test ebp, ebp
mov edi, eax
movzx esi, byte [ebx + 0x22]
je 0x440e92
mov edi, edx
test esi, esi
mov ebp, eax
movzx ecx, word [ebx + 0x26]
je 0x440e9e
mov ebp, edx
cmp edi, ebp
movzx ebp, word [ebx + 0x24]
cmovne edx, eax
movzx eax, word [ebx + 0x28]
movzx esi, byte [ebx + 0x2a]
mov dword [esp + 4], esi
movzx esi, byte [ebx + 0x2b]
movzx edi, byte [ebx + 0x2c]
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x7c]
test esi, esi
jle 0x441043
mov dword [esp + 0x40], edi
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 4]
mov dword [esp + 0x3c], esi
xor esi, esi
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x44], ebp
mov ebp, dword [ebx + 0x1984]
test ecx, ecx
jle 0x44104d
mov dword [esp + 0x5c], ebp
xor eax, eax
mov edi, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], eax
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], esi
mov dword [esp], ebx
mov ebp, dword [edi]
test edx, edx
je 0x440f5e
mov ebx, ebp
and ebx, 0xff000000
shr ebx, 0x18
mov esi, ebp
and esi, 0xff0000
shr esi, 8
or ebx, esi
mov esi, ebp
and esi, 0xff00
shl esi, 8
or ebx, esi
shl ebp, 0x18
or ebp, ebx
mov dword [esp + 0x54], eax
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x50], edi
mov eax, dword [esp + ebx*4 + 8]
mov edi, dword [esp + ebx*4 + 0x14]
mov ecx, dword [esp + ebx*4 + 0x38]
mov dword [esp + ebx*4 + 0x20], eax
mov dword [esp + ebx*4 + 0x2c], edi
mov eax, dword [edx]
mov dword [esp + ebx*4 + 8], eax
mov eax, ebp
shr eax, cl
and eax, dword [esp + ebx*4 + 0x44]
mov dword [esp + ebx*4 + 0x14], eax
mov dword [edx], eax
mov ecx, dword [esp + ebx*4 + 0x2c]
add edx, 4
add ecx, dword [esp + ebx*4 + 8]
sub ecx, dword [esp + ebx*4 + 0x20]
test ecx, ecx
jl 0x440fb8
mov edi, dword [esp + ebx*4 + 0x44]
cmp edi, ecx
cmovl ecx, edi
jmp 0x440fbe
xor ecx, ecx
mov edi, dword [esp + ebx*4 + 0x44]
mov eax, dword [esp + ebx*4 + 0x14]
sub eax, ecx
and eax, edi
mov ecx, dword [esp + ebx*4 + 0x38]
inc ebx
shl eax, cl
or esi, eax
cmp ebx, 3
jl 0x440f72
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x50]
test edx, edx
je 0x441016
mov ebx, esi
and ebx, 0xff000000
shr ebx, 0x18
mov ebp, esi
and ebp, 0xff0000
shr ebp, 8
or ebx, ebp
mov ebp, esi
and ebp, 0xff00
shl ebp, 8
or ebx, ebp
shl esi, 0x18
or esi, ebx
mov dword [edi], esi
add edi, 4
inc eax
cmp eax, ecx
jl 0x440f2e
mov dword [esp + 0x50], edi
mov esi, dword [esp + 4]
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp]
inc esi
cmp esi, edi
jge 0x441043
mov ebp, dword [ebx + 0x1984]
jmp 0x440efb
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret 0xc
inc esi
cmp esi, edi
jl 0x440efb
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 0x441264
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 0x44126e
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]
mov edx, dword [edi]
test ecx, ecx
je 0x441187
mov eax, edx
and eax, 0xff000000
shr eax, 0x18
mov ebx, edx
and ebx, 0xff0000
shr ebx, 8
or eax, ebx
mov ebx, edx
and ebx, 0xff00
shl ebx, 8
or eax, ebx
shl edx, 0x18
or edx, eax
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
shr 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 0x4411de
mov edi, dword [esp + eax*4 + 0x44]
cmp ecx, edi
jle 0x4411e4
mov ecx, edi
jmp 0x4411e4
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
inc eax
cmp eax, 3
jl 0x441197
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 0x44123b
mov eax, ebx
and eax, 0xff000000
shr eax, 0x18
mov edx, ebx
and edx, 0xff0000
shr edx, 8
or eax, edx
mov edx, ebx
and edx, 0xff00
shl edx, 8
or eax, edx
shl ebx, 0x18
or ebx, eax
mov dword [edi], ebx
add edi, 4
inc ebp
cmp ebp, esi
jl 0x441158
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp]
inc edx
cmp edx, ecx
jge 0x441264
mov eax, dword [ebx + 0x1984]
jmp 0x441125
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret 0xc
inc edx
cmp edx, ecx
jl 0x441125
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