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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x10
mov ebp, dword [esp + 0x24]
xor eax, eax
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
mov edx, dword [esi + 0x98]
test edx, 0x800
je 0x444857
mov eax, dword [edi]
test eax, eax
je 0x444857
mov eax, dword [ebp + 0x2490]
cmp eax, dword [ebp + 0x2494]
je 0x444857
lea eax, [esp]
push eax
mov edx, dword [esp + 0x38]
push edx
mov ecx, dword [esp + 0x38]
push ecx
push edi
push esi
push ebp
call fcn.004436d4
add esp, 0x18
lea eax, [esp + 4]
push eax
push esi
push ebp
call fcn.00444e80
add esp, 0xc
test eax, eax
jne 0x444d68
movsx eax, byte [esp + 0x44]
test eax, eax
jne 0x444895
mov eax, dword [esi + 0x80]
sub eax, dword [edi]
test eax, eax
jl 0x444d70
mov edx, dword [esp + 4]
cmp edx, eax
jb 0x444891
mov edx, eax
mov dword [esp + 8], edx
mov dword [esi + 0x78], 0
mov ecx, dword [esp + 4]
mov dword [esi + 0x7c], ecx
mov edx, dword [ebp + 0x249c]
mov eax, dword [edx + 0x1c]
test eax, 0x200
jne 0x4448e9
push 0
push dword [ebp + 0x24a0]
push edx
push dword [esi + 0xd8]
push ecx
push dword [esi + 0x5c]
call sub.OCI.dll_lxmopen
add esp, 0x18
mov edx, dword [esi + 0xd8]
mov eax, dword [esi + 0x78]
add eax, dword [edx + 8]
sub eax, dword [edx + 0x10]
mov dword [esi + 0x78], eax
mov ecx, dword [edx + 8]
sub ecx, dword [edx + 0x10]
sub dword [esi + 0x7c], ecx
mov ebx, dword [esp + 8]
test ebx, ebx
je 0x444d44
mov eax, dword [esi + 0x98]
test eax, 0x800
je 0x444934
movzx eax, word [esi + 0x90]
cmp eax, 0x70
jne 0x444934
mov eax, dword [esi + 0x80]
sub eax, dword [edi]
cmp ebx, eax
jb 0x44494e
mov eax, dword [esp + 0x40]
lea edx, [esp + 8]
push eax
push edx
push esi
push ebp
call fcn.00443b6c
add esp, 0x10
mov ebx, dword [esp + 8]
jmp 0x44494e
mov eax, dword [esp + 0x40]
lea edx, [esp + 8]
push eax
push 0
push edx
push esi
push ebp
call fcn.0044278c
add esp, 0x14
mov ebx, dword [esp + 8]
mov eax, dword [ebp + 0x249c]
mov edx, dword [eax + 0x1c]
test edx, 0x200
jne 0x444c74
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov eax, dword [eax]
cmp edx, eax
ja 0x4449d6
mov edx, dword [esi + 0x98]
and edx, 0x800
je 0x444a07
mov eax, dword [esp]
test eax, eax
je 0x444a07
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov dword [edx], eax
mov eax, dword [ecx + 0x10]
mov dword [ecx + 8], eax
mov eax, dword [ecx + 4]
test eax, eax
je 0x4449ac
mov eax, dword [esp + 0x34]
mov dword [eax + 0x14], 0
push dword [ebp + 0x24a0]
push 0x10000000
push dword [esp + 8]
mov eax, dword [esp + 0x40]
push eax
call sub.OCI.dll_lxoSkip
add esp, 0x10
mov edx, dword [esi + 0x98]
and edx, 0x800
jmp 0x444a07
mov edx, dword [esp + 0x38]
push dword [ebp + 0x24a0]
push 0x10000000
sub edx, eax
push edx
mov eax, dword [esp + 0x40]
push eax
call sub.OCI.dll_lxoSkip
add esp, 0x10
mov edx, dword [esp + 0x3c]
add dword [edx], eax
mov edx, dword [esi + 0x98]
and edx, 0x800
test edx, edx
je 0x444a32
mov eax, dword [edi]
test eax, eax
je 0x444a32
push dword [ebp + 0x24a0]
push 0x10000000
push dword [esi + 0x78]
mov eax, dword [esp + 0x40]
push eax
call sub.OCI.dll_lxoSkip
add esp, 0x10
mov edx, dword [esp + 0x3c]
add dword [edx], eax
mov dword [esp + 8], 0
mov eax, dword [ebp + 0x187c]
test eax, eax
je 0x444ad8
test ebx, ebx
je 0x444c1c
mov edi, dword [esp + 0x34]
push dword [ebp + 0x24a0]
push dword [esi + 0xd8]
call sub.OCI.dll_lxmdssln
mov edx, dword [esp + 0x44]
add dword [edx], eax
push dword [ebp + 0x24a0]
push dword [esi + 0xd8]
call sub.OCI.dll_lxmdssln
add esp, 0x10
cmp ebx, eax
jae 0x444a87
mov eax, ebx
jmp 0x444a9b
push dword [ebp + 0x24a0]
push dword [esi + 0xd8]
call sub.OCI.dll_lxmdssln
add esp, 8
push dword [ebp + 0x24a0]
push 0x40800000
sub ebx, eax
mov eax, 0xffffffff
push eax
push dword [esi + 0xd8]
push eax
push edi
call sub.OCI.dll_lxoCpChar
add esp, 0x18
mov eax, dword [ebp + 0x24a0]
mov edx, dword [eax + 0x1c]
add dword [esp + 8], edx
test ebx, ebx
jne 0x444a54
mov edi, dword [esp + 0x2c]
jmp 0x444c1c
test ebx, ebx
je 0x444c1c
mov edx, dword [esi + 0xd8]
mov eax, dword [edx]
test eax, eax
jne 0x444b3a
mov edi, dword [edx + 0xc]
mov eax, dword [edi + 0x1c]
test eax, 0x4000000
jne 0x444b41
mov eax, dword [edx + 4]
test eax, eax
je 0x444b0f
mov eax, dword [edx + 0x14]
test eax, eax
mov eax, 0
sete al
jmp 0x444b36
mov eax, dword [ebp + 0x24a0]
mov eax, dword [eax]
movzx ecx, word [edi + 0x24]
mov eax, dword [eax]
mov eax, dword [eax + ecx*4]
add eax, dword [edi]
mov edi, dword [edx + 8]
movzx ecx, byte [edi]
movzx eax, word [eax + ecx*2]
test al, 3
mov eax, 0
sete al
test eax, eax
je 0x444b41
mov eax, 1
jmp 0x444b50
push dword [ebp + 0x24a0]
push edx
call sub.OCI.dll_lxmdspx
add esp, 8
mov ecx, dword [esp + 0x3c]
add dword [ecx], eax
mov ecx, dword [esi + 0xd8]
mov eax, dword [ecx]
test eax, eax
je 0x444b6a
mov edx, dword [ebp + 0x24a0]
jmp 0x444bc9
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + 0x1c]
test edx, 0x4000000
je 0x444b80
mov edx, dword [ebp + 0x24a0]
jmp 0x444bd0
mov edx, dword [ebp + 0x24a0]
mov edi, dword [ecx + 4]
test edi, edi
je 0x444b9c
mov eax, dword [ecx + 0x14]
test eax, eax
mov eax, 0
sete al
jmp 0x444bc5
movzx edi, word [eax + 0x24]
mov dword [esp + 0xc], ebx
mov ebx, dword [edx]
mov ebx, dword [ebx]
mov ebx, dword [ebx + edi*4]
add ebx, dword [eax]
mov eax, dword [ecx + 8]
movzx eax, byte [eax]
movzx eax, word [ebx + eax*2]
test al, 3
mov ebx, dword [esp + 0xc]
mov eax, 0
sete al
test eax, eax
je 0x444bd0
mov eax, 1
jmp 0x444be6
push edx
push ecx
call sub.OCI.dll_lxmdspx
add esp, 8
mov edx, dword [ebp + 0x24a0]
mov ecx, dword [esi + 0xd8]
push edx
push 0x40800000
sub ebx, eax
mov eax, 0xffffffff
push eax
push ecx
push eax
mov edx, dword [esp + 0x48]
push edx
call sub.OCI.dll_lxoCpChar
add esp, 0x18
mov eax, dword [ebp + 0x24a0]
mov edx, dword [eax + 0x1c]
add dword [esp + 8], edx
test ebx, ebx
jne 0x444ae0
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 4]
test edx, edx
je 0x444c57
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0x14]
test edx, edx
je 0x444c57
mov ebx, dword [esp + 0x34]
mov edx, dword [ebx + 0xc]
mov ebp, dword [ebx + 8]
lea ecx, [ebp + 1]
mov dword [ebx + 0x14], 0
movzx eax, byte [edx + 0x47]
mov dword [ebx + 8], ecx
mov byte [ebp], al
mov eax, 1
jmp 0x444c59
xor eax, eax
mov edx, dword [esp + 0x3c]
add dword [edx], eax
mov edx, dword [esi + 0x98]
and edx, 0x800
mov ebx, dword [esp + 8]
jmp 0x444d19
mov edx, dword [esi + 0x98]
and edx, 0x800
je 0x444cef
mov eax, dword [edi]
test eax, eax
je 0x444cbf
test ebx, ebx
je 0x444d19
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
add ebx, dword [esi + 0x78]
lea ebp, [edx + ecx]
add ebp, eax
push ebx
push dword [esi + 0x5c]
push ebp
call fcn.00474594
add esp, 0xc
mov ebx, dword [esp + 8]
mov edx, dword [esi + 0x98]
and edx, 0x800
jmp 0x444d19
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
push ebx
lea ebp, [edx + ecx]
add ebp, eax
mov eax, dword [esi + 0x5c]
add eax, dword [esi + 0x78]
push eax
push ebp
call fcn.00474594
add esp, 0xc
mov ebx, dword [esp + 8]
mov edx, dword [esi + 0x98]
and edx, 0x800
jmp 0x444d19
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
push ebx
lea ecx, [eax + edx]
add ecx, dword [edi]
push dword [esi + 0x5c]
push ecx
call fcn.00474594
add esp, 0xc
mov ebx, dword [esp + 8]
mov edx, dword [esi + 0x98]
and edx, 0x800
test edx, edx
je 0x444d24
add ebx, dword [esi + 0x78]
mov dword [esp + 8], ebx
mov eax, dword [esp + 4]
cmp ebx, eax
jb 0x444d2e
mov ebx, eax
mov dword [esi + 0x78], ebx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
cmp ecx, edx
jae 0x444d3f
mov edx, ecx
sub ecx, edx
mov dword [esi + 0x7c], ecx
mov eax, dword [edi]
test eax, eax
jne 0x444d54
mov eax, dword [esp + 8]
test eax, eax
je 0x444d54
mov dword [edi], eax
mov edx, dword [esp + 4]
add dword [esi + 0xb8], edx
xor eax, eax
add esp, 0x10
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x10
pop ebx
pop ebp
pop esi
pop edi
ret
xor edx, edx
jmp 0x444891