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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
push ebx
push esi
mov esi, edx
mov dword [esp + 0x20], ecx
xor ecx, ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], ecx
xorps xmm0, xmm0
mov dword [esp + 0x34], ecx
mov eax, dword [esi]
mov dword [esp + 0x38], ecx
push edi
movlpd qword [esp + 0x60], xmm0
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x18], ecx
cmp byte [ecx + 0x45], 0
jne 0x44d386
imul ecx, dword [ebp + 8], 0x30
add eax, 0x44
mov edi, dword [esi + 0x14]
mov dword [esp + 0x1c], eax
add edi, ecx
mov dword [esp + 0x30], ecx
mov ecx, eax
mov ebx, dword [edi]
mov dword [esp + 0x74], ebx
mov edx, dword [ebx + 0xc]
call fcn.0044d44f
mov dword [esp + 0x5c], eax
mov ecx, 0x800
mov al, byte [ebx]
mov byte [esp + 0x13], al
movzx eax, al
mov dword [esp + 0x48], edx
mov dword [esp + 0x58], eax
cmp eax, 0x21
jne 0x44cccc
test dword [ebx + 4], ecx
mov edx, dword [ebx + 0x14]
mov ecx, dword [esp + 0x1c]
je 0x44ccc5
call fcn.0044ca71
jmp 0x44ccf0
call fcn.0044d4cb
jmp 0x44ccf0
cmp eax, 0x22
jne 0x44cce4
xorps xmm0, xmm0
movlpd qword [esp + 0x68], xmm0
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
jmp 0x44ccf0
mov edx, dword [ebx + 0x10]
mov ecx, dword [esp + 0x1c]
call fcn.0044d44f
mov ecx, dword [esp + 0x1c]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], edx
mov edx, ebx
call fcn.0044d44f
test byte [ebx + 4], 1
mov ecx, edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
je 0x44cd4a
movsx edx, word [ebx + 0x24]
mov ecx, dword [esp + 0x1c]
call fcn.0044d77e
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x34]
or eax, edx
or ecx, dword [esp + 0x28]
add edx, 0xffffffff
mov dword [esp + 0x4c], eax
adc dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x50], ecx
jmp 0x44cd56
mov edx, dword [esp + 0x64]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x60]
or dword [edi + 8], 0xffffffff
or dword [edi + 4], 0xffffffff
mov dword [edi + 0x28], eax
xor eax, eax
mov dword [edi + 0x2c], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x34], edx
mov word [edi + 0x12], ax
call fcn.0044bf47
test eax, eax
je 0x44cf51
mov ecx, dword [ebx + 0xc]
call fcn.0042ac8b
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x60], eax
call fcn.0042ac8b
mov edx, dword [edi + 0x20]
mov ecx, dword [edi + 0x24]
and ecx, dword [esp + 0x48]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x5c]
and edx, eax
or edx, ecx
mov dword [esp + 0x54], 0x1fff
je 0x44cdbb
mov dword [esp + 0x54], 0x800
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x44]
push ecx
push dword [esp + 0x50]
mov ecx, dword [esp + 0x30]
push eax
call fcn.0044cb44
add esp, 0x10
test eax, eax
je 0x44cdfe
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x58]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x44]
mov dword [edi + 0xc], eax
call fcn.0044bfdc
and ax, word [esp + 0x54]
mov word [edi + 0x12], ax
cmp byte [esp + 0x13], 0x1d
jne 0x44ce0e
mov eax, 0x800
or word [edi + 0x14], ax
mov eax, dword [esp + 0x68]
test eax, eax
je 0x44d04d
lea ecx, [esp + 0x44]
mov edx, eax
push ecx
lea ecx, [esp + 0x44]
push ecx
push dword [edi + 0x24]
mov ecx, dword [esp + 0x30]
push dword [edi + 0x20]
call fcn.0044cb44
add esp, 0x10
test eax, eax
je 0x44d04d
xor eax, eax
mov dword [esp + 0x60], eax
cmp dword [edi + 8], eax
jl 0x44ceeb
mov edi, dword [esp + 0x18]
mov edx, ebx
push eax
push eax
mov ecx, edi
call fcn.0042b6d5
cmp byte [edi + 0x45], 0
mov esi, eax
pop ecx
pop ecx
je 0x44ce7e
test esi, esi
je 0x44d386
mov edx, esi
mov ecx, edi
call fcn.0042b5ba
jmp 0x44d386
mov ecx, dword [esp + 0x20]
mov edx, esi
push 3
call fcn.0044be36
pop ecx
test eax, eax
je 0x44d386
mov ecx, dword [esp + 0x20]
mov edx, eax
push dword [ebp + 8]
imul edi, eax, 0x30
add edi, dword [ecx + 0x14]
mov dword [esp + 0x5c], edi
call fcn.0044c2d8
add esp, 4
cmp byte [esp + 0x13], 0x1d
jne 0x44cebf
mov eax, 0x800
or word [edi + 0x14], ax
mov edi, dword [ecx + 0x14]
mov edx, esi
add edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
push 8
pop eax
or word [edi + 0x14], ax
call fcn.0044c9af
test eax, eax
je 0x44cef1
mov eax, 0x800
or word [edi + 0x12], ax
mov dword [esp + 0x60], eax
jmp 0x44cef1
mov esi, ebx
mov dword [esp + 0x58], edi
mov ecx, dword [esp + 0x14]
mov edx, esi
call fcn.0044bf67
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x48]
or ecx, dword [esp + 0x28]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x44]
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x5c]
or eax, dword [esp + 0x34]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0x4c]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x50]
mov dword [edx + 0x24], ecx
mov dword [edx + 0x2c], eax
movzx ecx, byte [esi]
call fcn.0044bfdc
add ax, word [esp + 0x60]
and ax, word [esp + 0x54]
mov esi, dword [esp + 0x20]
mov word [edx + 0x12], ax
jmp 0x44d04d
mov al, byte [ebx]
cmp al, 0x20
jne 0x44d033
cmp byte [esi + 8], 0x1c
jne 0x44d28f
and dword [esp + 0x54], 0
xor ecx, ecx
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x68], eax
mov dword [esp + 0x5c], ecx
mov eax, dword [eax + 4]
mov edi, dword [esp + 0x18]
mov edx, dword [ecx + eax]
test edx, edx
je 0x44cf98
push 0
push 0
mov ecx, edi
call fcn.0042b6d5
pop ecx
pop ecx
mov dword [esp + 0x60], eax
jmp 0x44cf9d
and dword [esp + 0x60], 0
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x44cfb3
push 0
push 0
mov ecx, edi
call fcn.0042b6d5
pop ecx
pop ecx
jmp 0x44cfb5
xor eax, eax
mov ecx, dword [esp + 0x14]
push 0
push dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x60]
movzx edx, byte [eax + 0x49c65c]
call fcn.0042b1c9
add esp, 0xc
mov ecx, eax
mov edx, ebx
call fcn.0044c2c2
mov edx, ecx
mov ecx, esi
push 3
call fcn.0044be36
mov edi, dword [esp + 0x24]
mov esi, eax
pop ecx
mov ecx, dword [esp + 0x24]
mov edx, edi
push esi
call fcn.0044cc2a
mov edi, dword [edi + 0x14]
mov edx, esi
mov esi, dword [esp + 0x24]
add edi, dword [esp + 0x34]
pop ecx
push dword [ebp + 8]
mov ecx, esi
call fcn.0044c2d8
mov ecx, dword [esp + 0x60]
add esp, 4
inc dword [esp + 0x54]
add ecx, 0x18
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5c], ecx
cmp ecx, 0x30
jl 0x44cf77
jmp 0x44d04d
cmp al, 0x1b
jne 0x44d04d
push dword [ebp + 8]
mov ecx, dword [esp + 0x28]
mov edx, esi
call fcn.0044c43d
mov edi, dword [esi + 0x14]
add edi, dword [esp + 0x34]
pop ecx
cmp byte [esi + 8], 0x1c
jne 0x44d28f
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
mov edx, ebx
push eax
lea eax, [esp + 0x34]
push eax
call fcn.0044c006
add esp, 0xc
test eax, eax
je 0x44d28f
mov eax, dword [ebx + 0x14]
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x60], eax
test ecx, ecx
je 0x44d0ac
push 0
mov edx, ecx
mov ecx, dword [esp + 0x1c]
push 0
call fcn.0042b6d5
pop ecx
pop ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
jmp 0x44d0b1
and dword [esp + 0x40], 0
cmp dword [esp + 0x3c], 0
je 0x44d118
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp byte [eax + 0x45], 0
jne 0x44d118
and dword [esp + 0x68], 0
mov eax, 0x400
or word [edi + 0x14], ax
mov edi, dword [ecx + 8]
mov cl, byte [edi]
test cl, cl
je 0x44d118
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x2c]
movzx edx, cl
mov al, byte [edx + 0x49a1c0]
and al, 0x20
not al
and al, cl
mov byte [edi], al
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x49aa10]
mov byte [esi + ecx], al
inc esi
mov edi, dword [ebx + 8]
add edi, esi
mov cl, byte [edi]
test cl, cl
jne 0x44d0e3
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0x45], 0
jne 0x44d179
mov eax, dword [esp + 0x40]
mov edx, dword [eax + 8]
test edx, edx
jne 0x44d131
xor ecx, ecx
jmp 0x44d145
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44d136
sub ecx, edi
and ecx, 0x3fffffff
cmp dword [esp + 0x3c], 0
mov al, byte [edx + ecx - 1]
mov edi, dword [esp + 0x38]
je 0x44d169
and dword [esp + 0x74], 0
cmp al, 0x40
movzx eax, al
cmove edi, dword [esp + 0x74]
mov al, byte [eax + 0x49aa10]
inc al
mov dword [esp + 0x54], edi
mov byte [edx + ecx - 1], al
mov ecx, dword [esp + 0x18]
jmp 0x44d181
mov eax, dword [esp + 0x38]
mov dword [esp + 0x54], eax
cmp dword [esp + 0x3c], 0
mov eax, 0x49555c
mov edi, str.NOCASE
cmove edi, eax
mov eax, dword [esp + 0x60]
test eax, eax
je 0x44d1aa
push 0
push 0
mov edx, eax
call fcn.0042b6d5
pop ecx
pop ecx
jmp 0x44d1ac
xor eax, eax
mov ecx, dword [esp + 0x14]
mov edx, eax
push 0
push dword [esp + 0x30]
push edi
call fcn.0042ac4f
pop ecx
mov ecx, dword [esp + 0x1c]
push eax
push 0x29
pop edx
call fcn.0042b1c9
add esp, 0xc
mov ecx, eax
mov edx, ebx
call fcn.0044c2c2
mov edx, ecx
mov ecx, esi
push 0x103
call fcn.0044be36
pop ecx
mov ecx, dword [esp + 0x24]
mov edx, esi
push eax
mov dword [esp + 0x78], eax
call fcn.0044cc2a
mov eax, dword [esp + 0x64]
pop ecx
test eax, eax
je 0x44d213
mov ecx, dword [esp + 0x18]
mov edx, eax
push 0
push 0
call fcn.0042b6d5
pop ecx
pop ecx
jmp 0x44d215
xor eax, eax
mov ecx, dword [esp + 0x14]
mov edx, eax
push 0
push dword [esp + 0x44]
push edi
call fcn.0042ac4f
pop ecx
mov ecx, dword [esp + 0x1c]
push eax
push 0x28
pop edx
call fcn.0042b1c9
add esp, 0xc
mov ecx, eax
mov edx, ebx
call fcn.0044c2c2
mov edx, ecx
mov ecx, esi
push 0x103
call fcn.0044be36
pop ecx
mov ecx, dword [esp + 0x24]
mov edx, esi
push eax
mov dword [esp + 0x6c], eax
call fcn.0044cc2a
mov edi, dword [esi + 0x14]
add edi, dword [esp + 0x34]
cmp dword [esp + 0x58], 0
pop ecx
je 0x44d28f
push dword [ebp + 8]
mov edx, dword [esp + 0x78]
mov ecx, esi
call fcn.0044c2d8
mov edx, dword [esp + 0x6c]
add esp, 4
push dword [ebp + 8]
call fcn.0044c2d8
add esp, 4
lea edx, [esp + 0x13]
mov ecx, ebx
call fcn.0044c23a
test eax, eax
je 0x44d378
mov eax, dword [ebx + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + 4]
mov ebx, dword [eax]
mov edx, ebx
mov eax, dword [eax + 0x18]
mov dword [esp + 0x58], eax
call fcn.0044d44f
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x60], eax
call fcn.0044d44f
and eax, dword [esp + 0x60]
and edx, dword [esp + 0x5c]
or eax, edx
jne 0x44d378
test ebx, ebx
je 0x44d2f6
mov ecx, dword [esp + 0x18]
mov edx, ebx
push eax
push eax
call fcn.0042b6d5
pop ecx
pop ecx
jmp 0x44d2f8
xor eax, eax
mov ecx, dword [esp + 0x14]
push 0
push eax
push 0
push 0x1e
pop edx
call fcn.0042b1c9
add esp, 0xc
mov edx, eax
mov ecx, esi
push 3
call fcn.0044be36
mov edi, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x64]
imul esi, edx, 0x30
pop ecx
push 0x40
add esi, dword [edi + 0x14]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x60]
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x1c]
mov dword [esi + 8], ecx
mov ecx, edi
movsx eax, word [eax + 0x20]
mov dword [esi + 0xc], eax
pop eax
push dword [ebp + 8]
mov word [esi + 0x12], ax
mov al, byte [esp + 0x17]
mov byte [esi + 0x17], al
call fcn.0044c2d8
mov edi, dword [edi + 0x14]
add esp, 4
add edi, dword [esp + 0x30]
push 8
pop eax
or word [edi + 0x14], ax
mov eax, dword [edi + 0x28]
mov dword [esi + 0x28], eax
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x34]
or dword [edi + 0x20], eax
mov eax, dword [esp + 0x28]
or dword [edi + 0x24], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret