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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x60
mov ebp, dword [esp + 0x74]
xor eax, eax
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x80]
mov word [esp + 0xc], ax
xor edx, edx
mov dword [esp + 4], edx
mov byte [esp + 0x10], al
mov word [esp + 0x14], ax
mov byte [ebx + 2], 1
mov ecx, 1
mov dword [ebx + 0x24], esi
mov dword [esp + 8], ecx
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x1c], eax
mov dword [esp + 0x18], 0x3e
mov edx, dword [ebp + 0x4728]
add edx, 8
mov dword [esp + 0x20], edx
mov edx, dword [ebp + 0x4728]
mov edx, dword [edx + 0x10]
mov dword [esp + 0x24], edx
mov dword [esp + 0x2c], 0x35
mov dword [esp + 0x28], edi
mov dword [esp + 0x38], 2
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x4728]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x18]
push 3
push eax
push ebp
call fcn.0043f95c
add esp, 0xc
test eax, eax
jne 0x462707
movzx eax, word [ebx]
cmp eax, 1
je 0x46249b
cmp eax, 0x60
je 0x46249b
cmp eax, 0x70
jne 0x462509
mov esi, dword [esp + 0x78]
mov dword [esp + 0x18], 0x3e
mov eax, dword [ebp + 0x4728]
add eax, 8
mov dword [esp + 0x20], eax
mov edx, dword [ebp + 0x4728]
mov ecx, dword [edx + 0x10]
lea edi, [ebx + 2]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], 0x35
mov dword [esp + 0x28], esi
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], 0x20
mov eax, dword [ebp + 0x4728]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x18]
push 3
push eax
push ebp
call fcn.0043f95c
add esp, 0xc
test eax, eax
jne 0x4626ff
mov esi, dword [esp + 0x78]
mov dword [esp + 0x18], 0x3e
mov eax, dword [ebp + 0x4728]
add eax, 8
mov dword [esp + 0x20], eax
lea edi, [esp + 0xc]
mov edx, dword [ebp + 0x4728]
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], 0x35
mov dword [esp + 0x28], esi
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], 0x1f
mov eax, dword [ebp + 0x4728]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x18]
push 3
push eax
push ebp
call fcn.0043f95c
add esp, 0xc
test eax, eax
je 0x46257c
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
mov esi, dword [esp + 0x78]
mov dword [esp + 0x18], 0x3e
mov eax, dword [ebp + 0x4728]
add eax, 8
mov dword [esp + 0x20], eax
mov edx, dword [ebp + 0x4728]
mov ecx, dword [edx + 0x10]
lea edi, [ebx + 8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], 0x35
mov dword [esp + 0x28], esi
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], 1
mov eax, dword [ebp + 0x4728]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x18]
push 3
push eax
push ebp
call fcn.0043f95c
add esp, 0xc
test eax, eax
jne 0x4626f7
movzx eax, word [ebx]
cmp eax, 1
je 0x4627f5
cmp eax, 0x60
je 0x4627f5
mov esi, dword [esp + 0x78]
mov dword [esp + 0x18], 0x3e
mov eax, dword [ebp + 0x4728]
add eax, 8
mov dword [esp + 0x20], eax
mov edx, dword [ebp + 0x4728]
mov ecx, dword [edx + 0x10]
lea edi, [ebx + 0xc]
lea eax, [ebx + 0x10]
mov dword [esp + 0x2c], 0x35
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x38], 4
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x4728]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x18]
push 3
push eax
push ebp
call fcn.0043f95c
add esp, 0xc
test eax, eax
je 0x462670
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
mov esi, dword [esp + 0x78]
mov dword [esp + 0x18], 0x3e
mov eax, dword [ebp + 0x4728]
add eax, 8
mov dword [esp + 0x20], eax
mov edx, dword [ebp + 0x4728]
mov ecx, dword [edx + 0x10]
lea edi, [ebx + 4]
mov edx, 3
mov dword [esp + 0x2c], 0x35
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], edx
mov eax, dword [ebp + 0x4728]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x18]
push edx
push eax
push ebp
call fcn.0043f95c
add esp, 0xc
test eax, eax
jne 0x4626ef
movzx edx, word [ebx]
cmp edx, 0x6c
je 0x46270f
cmp edx, 0x6e
je 0x46270f
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
mov esi, dword [esp + 0x78]
mov dword [esp + 0x18], 0x3e
mov eax, dword [ebp + 0x4728]
add eax, 8
mov dword [esp + 0x20], eax
mov edx, dword [ebp + 0x4728]
mov ecx, dword [edx + 0x10]
lea edi, [ebx + 0x1c]
lea eax, [ebx + 0x20]
mov dword [esp + 0x2c], 0x35
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x38], 9
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x4728]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x18]
push 3
push eax
push ebp
call fcn.0043f95c
add esp, 0xc
test eax, eax
je 0x462780
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
mov esi, dword [esp + 0x78]
mov dword [esp + 0x18], 0x3e
mov eax, dword [ebp + 0x4728]
add eax, 8
mov dword [esp + 0x20], eax
mov edx, dword [ebp + 0x4728]
mov ecx, dword [edx + 0x10]
lea edi, [ebx + 0x14]
lea ebx, [ebx + 0x18]
mov dword [esp + 0x2c], 0x35
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x38], 8
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebx
mov eax, dword [ebp + 0x4728]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x18]
push 3
push eax
push ebp
call fcn.0043f95c
add esp, 0xc
test eax, eax
je 0x4626e7
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
mov esi, dword [esp + 0x78]
mov dword [esp + 0x18], 0x3e
mov eax, dword [ebp + 0x4728]
add eax, 8
mov dword [esp + 0x20], eax
lea edi, [esp + 0x10]
mov edx, dword [ebp + 0x4728]
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], 0x35
mov dword [esp + 0x28], esi
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], 0x11d
mov eax, dword [ebp + 0x4728]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x18]
push 3
push eax
push ebp
call fcn.0043f95c
add esp, 0xc
test eax, eax
jne 0x4629fc
movzx eax, byte [esp + 0x10]
test eax, eax
je 0x4628dc
mov esi, dword [esp + 0x78]
mov dword [esp + 0x18], 0x3e
mov eax, dword [ebp + 0x4728]
add eax, 8
mov dword [esp + 0x20], eax
lea edi, [esp + 0x14]
mov edx, dword [ebp + 0x4728]
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], 0x35
mov dword [esp + 0x28], esi
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], 0x11e
mov eax, dword [ebp + 0x4728]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x18]
push 3
push eax
push ebp
call fcn.0043f95c
add esp, 0xc
test eax, eax
jne 0x4629f4
movzx eax, byte [ebx + 2]
cmp eax, 2
je 0x462a04
mov edx, dword [ebp + 0x249c]
mov eax, dword [edx + 0x1c]
test eax, 0x200
jne 0x46293c
mov ecx, dword [ebp + 0x24a0]
mov esi, dword [ecx]
movzx ecx, word [edx + 0x24]
mov edi, dword [esi]
mov ecx, dword [edi + ecx*4]
mov dword [esp + 4], ecx
mov ecx, dword [ebp + 0x187c]
test ecx, ecx
je 0x462934
test eax, 0x40000
je 0x462926
mov eax, 2
jmp 0x462928
xor eax, eax
movzx edx, byte [edx + 0x46]
add edx, eax
mov dword [esp + 8], edx
jmp 0x46293c
movzx eax, byte [edx + 0x46]
mov dword [esp + 8], eax
push 0x21c
push dword [ebp + 4]
call fcn.0040359c
mov dword [esp + 8], eax
add esp, 8
mov edi, eax
mov esi, dword [ebp + 0x249c]
mov ecx, 0x21c
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
movzx eax, byte [esp + 0x10]
test eax, eax
je 0x462984
movzx eax, word [esp + 0x14]
imul eax, dword [esp + 8]
mov word [ebx + 8], ax
jmp 0x4629e2
movzx eax, word [esp + 0xc]
push dword [ebp + 0x24a0]
push 0
push 0x4f
push eax
mov edx, dword [esp + 0x10]
push edx
call sub.OCI.dll_lxhnmod
add esp, 0x14
test eax, eax
je 0x4629e2
mov edx, dword [esp]
mov eax, dword [ebp + 0x24a0]
mov ecx, dword [eax]
movzx edi, word [edx + 0x24]
mov esi, dword [ecx]
mov ecx, dword [esi + edi*4]
mov edx, dword [esp + 4]
test edx, edx
je 0x4629e2
test ecx, ecx
je 0x4629e2
push eax
push ecx
mov eax, edx
push eax
call sub.OCI.dll_lxgratio
add esp, 0xc
cmp eax, 1
jbe 0x4629e2
movzx edx, word [ebx + 8]
imul eax, edx
mov word [ebx + 8], ax
mov eax, dword [esp]
push eax
push ebp
call fcn.00430044
add esp, 8
jmp 0x4625ff
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
add esp, 0x60
pop ebx
pop ebp
pop esi
pop edi
ret
push 0x21c
push dword [ebp + 4]
call fcn.0040359c
push dword [ebp + 0x24a0]
push 1
push eax
call sub.OCI.dll_lxhnlangid
add esp, 0x14
test eax, eax
je 0x46293c
mov edx, dword [ebp + 0x24a0]
mov ecx, dword [edx]
movzx edi, word [eax + 0x24]
mov esi, dword [ecx]
mov edx, dword [esi + edi*4]
mov dword [esp + 4], edx
mov edx, dword [ebp + 0x187c]
test edx, edx
je 0x462a69
mov edx, dword [eax + 0x1c]
test edx, 0x40000
je 0x462a5b
mov edx, 2
jmp 0x462a5d
xor edx, edx
movzx ecx, byte [eax + 0x46]
add ecx, edx
mov dword [esp + 8], ecx
jmp 0x462a71
movzx edx, byte [eax + 0x46]
mov dword [esp + 8], edx
push eax
push ebp
call fcn.00430044
add esp, 8
jmp 0x46293c