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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x90
mov ebx, dword [esp + 0xa4]
xor ebp, ebp
xor ecx, ecx
mov edi, dword [esp + 0xa8]
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
lea esi, [esp + 0xc]
mov dword [eax], ecx
mov dword [edx], ecx
push ecx
push dword [ebx + 0x24a0]
push dword [ebx + 0x249c]
push esi
push 0xffffffffffffffff
push edi
call sub.OCI.dll_lxmopen
add esp, 0x18
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov ecx, dword [edx + 0x1c]
mov eax, ecx
and eax, 0x4000000
je 0x45ad3f
movzx edi, byte [esi + 1]
test edi, edi
jne 0x45af9c
movzx edi, byte [esi]
test edi, edi
je 0x45ad4a
jmp 0x45af9c
movzx edi, byte [esi]
test edi, edi
jne 0x45af9c
mov eax, dword [esp + 0x10]
test eax, eax
je 0x45ad6f
mov eax, dword [esp + 0x20]
test eax, eax
je 0x45ad6f
mov dword [esp + 0x20], 0
movzx eax, byte [edx + 0x47]
lea edx, [esi + 1]
mov dword [esp + 0x14], edx
mov byte [esi], al
test ebp, ebp
je 0x45af8f
mov eax, dword [ebx + 0x249c]
movzx edi, byte [eax + 0x46]
add edi, dword [esp + 0xac]
add edi, ebp
push edi
push ebx
call fcn.00403568
mov esi, eax
add esp, 8
test esi, esi
je 0x45b0d0
push 0
push dword [ebx + 0x24a0]
push dword [ebx + 0x249c]
lea edx, [esp + 0x18]
push edx
push 0xffffffffffffffff
mov ecx, dword [esp + 0xbc]
push ecx
call sub.OCI.dll_lxmopen
push 1
push dword [ebx + 0x24a0]
push dword [ebx + 0x249c]
lea edx, [esp + 0x5c]
push edx
push 0xffffffffffffffff
push esi
call sub.OCI.dll_lxmopen
add esp, 0x30
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
lea ebp, [esp + 0x38]
lea esi, [esp + 0xc]
mov eax, dword [esp + 0xc]
test eax, eax
je 0x45ae01
mov edx, dword [ebx + 0x24a0]
jmp 0x45ae5b
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x1c]
test eax, 0x4000000
je 0x45ae17
mov edx, dword [ebx + 0x24a0]
jmp 0x45ae6b
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 0x24a0]
test eax, eax
je 0x45ae35
mov eax, dword [esp + 0x20]
test eax, eax
mov eax, 0
sete al
jmp 0x45ae57
mov eax, dword [edx]
movzx ecx, word [edi + 0x24]
mov eax, dword [eax]
mov eax, dword [eax + ecx*4]
add eax, dword [edi]
mov edi, dword [esp + 0x14]
movzx ecx, byte [edi]
movzx eax, word [eax + ecx*2]
test al, 3
mov eax, 0
sete al
test eax, eax
je 0x45ae6b
mov eax, dword [esp + 0x14]
movzx ecx, byte [eax]
cmp ecx, 0x27
je 0x45b03d
push edx
push 0x40800000
mov eax, 0xffffffff
push eax
push esi
push eax
push ebp
call sub.OCI.dll_lxoCpChar
add esp, 0x18
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x1c]
test edx, 0x4000000
je 0x45aeb9
mov edx, dword [esp + 0x14]
movzx eax, byte [edx + 1]
test eax, eax
jne 0x45adf1
movzx eax, byte [edx]
test eax, eax
jne 0x45adf1
mov esi, dword [esp]
mov edi, dword [esp + 4]
mov ebp, dword [esp + 8]
jmp 0x45aed3
mov eax, dword [esp + 0x14]
movzx edx, byte [eax]
test edx, edx
jne 0x45adf1
mov esi, dword [esp]
mov edi, dword [esp + 4]
mov ebp, dword [esp + 8]
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x45af0f
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x45af0f
mov edx, dword [esp + 0x44]
xor ebx, ebx
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x40]
movzx ecx, byte [edx + 0x47]
lea edx, [ebx + 1]
mov dword [esp + 0x40], edx
mov byte [ebx], cl
mov ecx, dword [esp + 0x40]
lea edx, [ecx + 1]
mov dword [esp + 0x40], edx
xor edx, edx
mov byte [ecx], dl
jmp 0x45af4a
mov edx, dword [esp + 0x44]
mov ecx, dword [edx + 0x1c]
test ecx, 0x4000000
je 0x45af3c
mov ebx, dword [esp + 0x40]
lea ecx, [ebx + 1]
mov dword [esp + 0x40], ecx
xor edx, edx
mov byte [ebx], dl
mov ebx, dword [esp + 0x40]
lea ecx, [ebx + 1]
mov dword [esp + 0x40], ecx
mov byte [ebx], dl
jmp 0x45af4a
mov ecx, dword [esp + 0x40]
lea edx, [ecx + 1]
mov dword [esp + 0x40], edx
mov byte [ecx], 0
mov edx, dword [esp + 0x10]
test edx, edx
je 0x45af70
mov edx, dword [esp + 0x20]
test edx, edx
je 0x45af70
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x20], 0
movzx edx, byte [ecx + 0x47]
mov byte [ebx], dl
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov dword [edx], esi
mov dword [ecx], edi
mov eax, ebp
add esp, 0x90
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, ebp
add esp, 0x90
pop ebx
pop ebp
pop esi
pop edi
ret
mov edi, dword [esp + 0xc]
test edi, edi
jne 0x45afe8
test eax, eax
jne 0x45aff4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x45afc0
mov eax, dword [esp + 0x20]
test eax, eax
mov eax, 0
sete al
jmp 0x45afe4
mov edi, dword [ebx + 0x24a0]
mov edi, dword [edi]
movzx eax, word [edx + 0x24]
mov edi, dword [edi]
mov eax, dword [edi + eax*4]
movzx edi, byte [esi]
add eax, dword [edx]
movzx eax, word [eax + edi*2]
test al, 3
mov eax, 0
sete al
test eax, eax
je 0x45aff4
movzx eax, byte [esi]
cmp eax, 0x27
je 0x45b0c8
mov eax, esi
sub eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x24]
jae 0x45b031
test cl, 0x10
je 0x45b011
add esi, 1
mov dword [esp + 0x14], esi
jmp 0x45ad1b
push dword [ebx + 0x24a0]
lea eax, [esp + 0x10]
push eax
call sub.OCI.dll_lxmfwdx
add esp, 8
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
jmp 0x45ad1b
add esi, 1
mov dword [esp + 0x14], esi
jmp 0x45ad1b
push 0
push edx
push dword [ebx + 0x249c]
lea eax, [esp + 0x70]
push eax
push 0xffffffffffffffff
push 0x4811b4
call sub.OCI.dll_lxmopen
push dword [ebx + 0x24a0]
push 0x40800000
mov edx, 0xffffffff
push edx
lea eax, [esp + 0x88]
push eax
push edx
push ebp
call sub.OCI.dll_lxoCpChar
add esp, 0x30
mov eax, dword [esp + 0x68]
test eax, eax
je 0x45b0bd
mov eax, dword [esp + 0x78]
test eax, eax
je 0x45b0b2
mov edx, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x78], 0
movzx eax, byte [edx + 0x47]
lea ecx, [edi + 1]
mov dword [esp + 0x6c], ecx
mov byte [edi], al
mov edx, dword [ebx + 0x24a0]
jmp 0x45ae6b
mov edx, dword [ebx + 0x24a0]
jmp 0x45ae6b
mov edx, dword [ebx + 0x24a0]
jmp 0x45ae6b
add ebp, 1
jmp 0x45aff4
mov eax, 0xffffffff
add esp, 0x90
pop ebx
pop ebp
pop esi
pop edi
ret