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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov dword [esp + 4], ecx
mov ecx, edx
mov ebp, edx
call 0x5430a0
pop edi
call fcn.0053bce6
cmp eax, 0x7b
mov dword [esp + 0x24], eax
jne 0x5434b0
mov ecx, dword [ebp]
mov eax, dword [ecx + 0x58]
lea esi, [ecx + 0x50]
mov dword [esp], ecx
mov dword [esp + 0x48], eax
movsd xmm0, qword [ecx + 0x50]
mov ecx, ebp
movsd qword [esp + 0x40], xmm0
call fcn.0053ec3c
test al, al
je 0x54312f
mov eax, dword [esi + 8]
mov ecx, ebp
mov dword [esp + 0x54], eax
movsd xmm0, qword [esi]
movsd qword [esp + 0x4c], xmm0
call fcn.0053bce6
cmp eax, 0x2d
je 0x5431aa
and eax, 0x1fffdf
add eax, 0xffffffbf
cmp eax, 0x1a
jb 0x5431aa
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
mov eax, dword [esp + 4]
movsd xmm0, qword [esp + 0x40]
movsd qword [esi], xmm0
mov byte [eax + 4], 0xc
mov dword [eax], 0x22
jmp 0x5433ef
mov ecx, dword [esi + 8]
mov eax, dword [esp + 0x78]
mov edi, dword [ebp + 8]
mov dword [esp + 0x1c], ecx
movsd xmm1, qword [eax]
mov eax, dword [eax + 8]
mov ecx, edi
movsd xmm0, qword [esi]
mov esi, dword [ebp + 4]
movsd qword [esp + 0x14], xmm0
movsd qword [esp + 8], xmm1
mov dword [esp + 0x10], eax
call fcn.0059c336
mov ebx, eax
mov ebp, edx
push edi
push esi
push eax
call fcn.0064a810
add esp, 0xc
movsd xmm1, qword [esp + 0x10]
mov eax, dword [esp + 4]
movsd xmm0, qword [esp + 8]
movsd qword [eax + 0x30], xmm1
movsd xmm1, qword [esp + 0x18]
movsd qword [eax + 0x28], xmm0
movsd qword [eax + 0x38], xmm1
mov dword [eax], 0x1e
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], edi
jmp 0x5433ef
mov eax, dword [esp]
mov dword [esp + 0x3c], edi
cmp dword [eax + 0x40], 0
jne 0x5434d3
mov dword [eax + 0x40], 0xffffffff
mov dword [eax + 0x4c], 0
mov edi, dword [ebp + 8]
cmp dword [eax + 0x50], edi
je 0x543355
mov eax, dword [esp]
add eax, 0x44
mov dword [esp + 0x20], eax
mov ecx, ebp
call fcn.0053bce6
cmp eax, 0x2d
je 0x5431fc
and eax, 0x1fffdf
add eax, 0xffffffbf
cmp eax, 0x1a
jae 0x5432e8
mov ecx, ebp
call fcn.0053bce6
mov ebx, eax
cmp eax, 0x80
jae 0x543235
mov ecx, dword [esp]
mov edx, dword [ecx + 0x4c]
cmp edx, dword [ecx + 0x48]
jne 0x543226
mov ecx, dword [esp + 0x20]
call fcn.004b743a
mov ecx, dword [esp]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ecx + 0x44]
mov byte [eax + edx], bl
inc edx
mov dword [ecx + 0x4c], edx
jmp 0x5432d7
mov eax, ebx
cmp ebx, 0x800
mov dword [esp + 8], 0
jae 0x543261
shr eax, 6
and bl, 0x3f
or al, 0xc0
or bl, 0x80
mov byte [esp + 8], al
mov byte [esp + 9], bl
mov eax, 2
jmp 0x5432c2
cmp ebx, 0x10000
jae 0x543290
shr eax, 0xc
or al, 0xe0
mov byte [esp + 8], al
mov eax, ebx
and bl, 0x3f
shr eax, 6
or bl, 0x80
and al, 0x3f
or al, 0x80
mov byte [esp + 9], al
mov byte [esp + 0xa], bl
mov eax, 3
jmp 0x5432c2
shr eax, 0x12
or al, 0xf0
mov byte [esp + 8], al
mov eax, ebx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [esp + 9], al
mov eax, ebx
and bl, 0x3f
shr eax, 6
or bl, 0x80
and al, 0x3f
or al, 0x80
mov byte [esp + 0xa], al
mov eax, 4
mov byte [esp + 0xb], bl
mov ecx, dword [esp + 0x20]
lea eax, [esp + eax + 8]
lea edx, [esp + 8]
push eax
call fcn.0059b928
add esp, 4
mov ecx, ebp
call fcn.0053ec3c
cmp dword [esi], edi
jne 0x5431df
jmp 0x543355
cmp dword [esi], edi
je 0x543355
mov ecx, ebp
call fcn.0053bce6
cmp eax, 0x7d
jne 0x543355
mov eax, dword [esi + 8]
mov ecx, ebp
mov dword [esp + 0x60], eax
movsd xmm0, qword [esi]
movsd qword [esp + 0x58], xmm0
call fcn.0053c16a
mov eax, dword [esp]
mov ecx, dword [eax + 0x4c]
add ecx, 0xfffffffd
cmp ecx, 7
ja 0x54343b
mov edx, dword [esp + 0x3c]
mov eax, dword [esp]
add edx, dword [ecx*4 + 0x5434e0]
mov eax, dword [eax + 0x44]
jmp edx
mov eax, dword [esi + 8]
movsd xmm1, qword [esp + 0x40]
mov ecx, edi
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x48]
movsd xmm0, qword [esi]
mov esi, dword [ebp + 4]
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x24], xmm1
mov dword [esp + 0x2c], eax
call fcn.0059c336
mov ebx, eax
mov ebp, edx
push edi
push esi
push eax
call fcn.0064a810
add esp, 0xc
movsd xmm1, qword [esp + 0x10]
mov ecx, dword [esp + 4]
movsd xmm0, qword [esp + 8]
movsd xmm2, qword [esp + 0x24]
mov eax, 0x1c
movsd qword [ecx + 0xc], xmm1
movsd xmm1, qword [esp + 0x18]
movsd qword [ecx + 4], xmm0
movsd qword [ecx + 0x14], xmm1
movsd xmm1, qword [esp + 0x2c]
movsd qword [ecx + 0x28], xmm2
movsd qword [ecx + 0x30], xmm1
movsd xmm1, qword [esp + 0x34]
movsd qword [ecx + 0x38], xmm1
mov dword [ecx], eax
mov dword [ecx + 0x1c], ebx
mov dword [ecx + 0x20], ebp
mov dword [ecx + 0x24], edi
mov eax, dword [esp]
inc dword [eax + 0x40]
add esp, 0x64
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x54]
movsd xmm0, qword [esp + 0x4c]
movsd xmm1, qword [esp + 0x58]
mov esi, dword [ebp + 4]
mov ecx, edi
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x60]
movsd qword [esp + 0x24], xmm0
movsd qword [esp + 0x30], xmm1
mov dword [esp + 0x38], eax
call fcn.0059c336
mov ebx, eax
mov ebp, edx
push edi
push esi
push eax
call fcn.0064a810
add esp, 0xc
movsd xmm1, qword [esp + 0x10]
mov ecx, dword [esp + 4]
movsd xmm0, qword [esp + 8]
movsd xmm2, qword [esp + 0x24]
mov eax, 0x1d
jmp 0x5433ae
lea eax, [esp + 8]
lea ecx, [esp + 0x24]
mov edx, 0x76c690
mov dword [eax], 0
push 0x76c694
push eax
call fcn.00658118
add esp, 8
ud2
mov ecx, 0x76c6a4
call fcn.00652520
ud2