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

Disassembly:
jmp 0x462f00
sub esp, 0x50
mov eax, dword [0x543fac]
xor eax, esp
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x58]
push ebx
push ebp
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
push esi
mov esi, dword [esp + 0x78]
mov dword [esp + 0xc], esi
push edi
test ebp, ebp
je 0x462f45
mov cl, byte [esi]
cmp cl, 0x2b
je 0x462f3e
cmp cl, 0x2d
jne 0x462f45
mov ebx, 1
jmp 0x462f47
xor ebx, ebx
mov ecx, eax
call fcn.004517f8
and eax, 0x3000
cmp eax, 0x3000
je 0x462f61
mov edx, 0x503620
jmp 0x462f83
lea eax, [ebx + 2]
mov edx, 0x503624
cmp eax, ebp
ja 0x462f83
cmp byte [esi + ebx], 0x30
jne 0x462f83
mov cl, byte [esi + ebx + 1]
cmp cl, 0x78
je 0x462f81
cmp cl, 0x58
jne 0x462f83
mov ebx, eax
push edx
push esi
call fcn.00452702
mov dword [esp + 0x28], eax
mov eax, 0x2e
mov word [esp + 0x30], ax
call fcn.0045135c
mov eax, dword [eax]
mov al, byte [eax]
mov byte [esp + 0x30], al
lea eax, [esp + 0x30]
push eax
push esi
call fcn.00452702
mov ecx, dword [esp + 0x24]
add esp, 0x10
mov edi, eax
lea eax, [esp + 0x18]
push eax
call fcn.00452f31
push eax
call fcn.004533c8
add esp, 4
lea ecx, [esp + 0x18]
mov esi, eax
call fcn.00454fa7
push 0
push ebp
lea ecx, [esp + 0x34]
call fcn.004553f3
push 0
lea ecx, [esp + 0x30]
call fcn.00453724
mov ecx, dword [esp + 0x10]
push eax
lea eax, [ecx + ebp]
push eax
push ecx
mov ecx, esi
call fcn.00452bd0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x18]
push eax
call fcn.00452f31
push eax
call fcn.00455295
add esp, 4
lea ecx, [esp + 0x18]
mov esi, eax
call fcn.00454fa7
lea eax, [esp + 0x44]
mov ecx, esi
push eax
call fcn.004565cd
mov ecx, esi
call fcn.00451807
movzx eax, ax
mov dword [esp + 0x10], eax
cmp edi, ebp
je 0x463058
mov ecx, esi
call fcn.00455fc4
push edi
lea ecx, [esp + 0x30]
movzx esi, ax
call fcn.00453724
cmp edi, ebp
mov word [eax], si
cmove edi, dword [esp + 0x20]
lea ecx, [esp + 0x44]
push 0
call fcn.004525d6
mov esi, eax
mov al, byte [esi]
cmp al, 0x7f
je 0x4630a2
mov ebp, dword [esp + 0x10]
test al, al
jle 0x4630a2
movsx ecx, al
mov eax, edi
sub eax, ebx
cmp ecx, eax
jae 0x4630a2
push ebp
sub edi, ecx
lea ecx, [esp + 0x30]
push 1
push edi
call fcn.00455830
cmp byte [esi + 1], 0
lea eax, [esi + 1]
cmovg esi, eax
mov al, byte [esi]
cmp al, 0x7f
jne 0x463074
lea ecx, [esp + 0x2c]
call fcn.00452c39
mov esi, dword [esp + 0x14]
mov edi, eax
mov ecx, esi
mov dword [esp + 0x20], edi
call fcn.004519dd
mov ebp, eax
test edx, edx
jl 0x4630d0
jg 0x4630c8
test ebp, ebp
je 0x4630d0
cmp ebp, edi
jbe 0x4630d0
sub ebp, edi
jmp 0x4630d2
xor ebp, ebp
mov ecx, esi
call fcn.004517f8
mov esi, eax
and esi, 0x1c0
cmp esi, 0x40
je 0x46313d
cmp esi, 0x100
je 0x46313d
push ebp
push dword [esp + 0x7c]
lea eax, [esp + 0x20]
push dword [esp + 0x78]
push dword [esp + 0x78]
push eax
push dword [esp + 0x78]
call fcn.004514e7
add esp, 0x18
lea ecx, [esp + 0x2c]
xor ebp, ebp
mov edi, dword [eax]
mov esi, dword [eax + 4]
push ebx
push ebp
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], esi
call fcn.00453724
push eax
push esi
push edi
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x78]
call fcn.00454d0e
mov edi, dword [esp + 0x38]
jmp 0x4631a1
push 0
lea ecx, [esp + 0x30]
call fcn.00453724
push ebx
push eax
lea eax, [esp + 0x20]
push dword [esp + 0x78]
push dword [esp + 0x78]
push eax
cmp esi, 0x100
jne 0x463198
mov esi, dword [esp + 0x78]
push esi
call fcn.00454d0e
push ebp
push dword [esp + 0x94]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push eax
mov dword [esp + 0x94], eax
lea eax, [esp + 0x3c]
push ecx
push eax
push esi
mov dword [esp + 0x9c], ecx
call fcn.004514e7
add esp, 0x30
xor ebp, ebp
jmp 0x4631a4
push dword [esp + 0x78]
call fcn.00454d0e
add esp, 0x18
mov esi, dword [eax]
lea ecx, [esp + 0x2c]
mov eax, dword [eax + 4]
sub edi, ebx
push edi
push ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], eax
call fcn.00453724
mov ebx, dword [esp + 0x68]
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x24]
push esi
push eax
push ebx
call fcn.00454d0e
mov ecx, dword [esp + 0x2c]
add esp, 0x18
mov edi, dword [eax]
mov esi, dword [eax + 4]
push 0
push 0
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], esi
call fcn.00454665
push ebp
push dword [esp + 0x7c]
push esi
mov esi, dword [esp + 0x30]
push edi
push esi
push ebx
call fcn.004514e7
add esp, 0x18
lea ecx, [esp + 0x44]
call fcn.004539fe
lea ecx, [esp + 0x2c]
call fcn.004551a5
mov ecx, dword [esp + 0x5c]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0045303f
add esp, 0x50
ret