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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x68
mov esi, ecx
mov ebx, dword [ebp + 0xc]
mov eax, dword [0x1008e00c]
xor eax, ebp
mov dword [esp + 0x60], eax
xor eax, eax
mov byte [esp + 0x20], al
mov byte [esp + 0x40], al
mov byte [esp + 0x1f], al
mov byte [esp + 0x1e], al
cmp dword [ecx + 0x3c], 0
je 0x10059596
mov ecx, dword [edx]
mov edi, dword [edx + 4]
mov edi, dword [edi]
mov dword [ecx], edi
mov ecx, dword [edx]
mov ecx, dword [ecx]
mov edx, ecx
mov edi, ecx
movzx eax, al
inc eax
shr edi, 7
cmp edx, 0x7f
mov edx, edi
ja 0x10059409
movzx edi, al
add edi, ecx
mov ecx, esi
push ebx
call fcn.10050550
test eax, eax
je 0x10059628
mov ebx, eax
mov eax, dword [eax + 0x38]
sub eax, dword [ebx + 4]
cmp edi, eax
jbe 0x10059525
mov dword [esp + 4], edi
mov byte [esp + 0x1f], 1
mov ecx, esi
push dword [ebp + 0xc]
call fcn.10050640
test eax, eax
je 0x10059649
mov edi, eax
mov eax, dword [ebx + 0x38]
sub eax, dword [ebx + 4]
lea edx, [esp + 8]
mov ecx, ebx
push eax
push edx
call fcn.100505e0
movsd xmm0, qword [esi + 0x50]
movsd qword [edi + 0x40], xmm0
mov eax, dword [edi + 0x38]
add dword [esi + 0x50], eax
adc dword [esi + 0x54], 0
mov ebx, dword [esp + 4]
lea eax, [esp + 8]
sub ebx, dword [eax]
mov dword [edi], ebx
mov dword [edi + 4], ebx
lea eax, [esp + 0x48]
push 1
push eax
call fcn.100246d0
add esp, 8
lea eax, [esp + 0x48]
movsd xmm0, qword [eax + 0x10]
movsd qword [edi + 0x18], xmm0
movups xmm0, xmmword [eax]
movups xmmword [edi + 8], xmm0
cmp ebx, 0xffffffff
je 0x10059652
mov byte [esp + 0x1e], 1
cmp byte [esp + 0x40], 0
jne 0x10059634
add edi, 0x58
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edi
mov edx, dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov edi, dword [esp + 4]
add eax, edi
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], eax
adc edx, 0
mov dword [esp + 0x3c], edx
test ecx, ecx
jne 0x1005957f
test ebx, ebx
je 0x1005957f
mov dword [0x1008f8f4], 0x10083516
int3
sete byte [esp + 0x1f]
lea eax, [esp + 0x48]
mov ecx, ebx
push edi
push eax
call fcn.100505e0
cmp byte [esp + 0x40], 0
jne 0x10059634
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], eax
add eax, edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
adc ecx, 0
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x40], 1
add dword [esi + 0x60], edi
adc dword [esi + 0x64], 0
add dword [esi + 0x68], 1
adc dword [esi + 0x6c], 0
mov ebx, dword [ebp + 0xc]
lea eax, [esp + 0x1f]
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], esi
lea eax, [esp + 0x1e]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ebx
mov byte [esp + 0x58], 1
cmp byte [esp + 0x40], 0
je 0x100595d4
mov esi, dword [ebp + 8]
mov eax, dword [esi]
lea edi, [esp + 0x20]
push edi
push dword [eax]
call fcn.10050d30
add esp, 8
cmp byte [edi + 0x20], 0
jne 0x100595f4
xor ebx, ebx
lea ecx, [esp + 0x48]
call fcn.10050f10
mov ecx, dword [esp + 0x60]
xor ecx, ebp
call fcn.10039ea0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov edx, dword [ecx]
or edx, dword [ecx + 4]
jne 0x10059611
movsd xmm0, qword [esp + 0x30]
movsd qword [ecx], xmm0
cmp byte [esp + 0x40], 0
je 0x10059667
mov eax, dword [eax + 4]
mov edx, dword [eax + 8]
add edx, dword [eax]
lea ecx, [esp + 0x20]
push edx
push eax
call fcn.10059680
mov bl, 1
jmp 0x100595d6
add dword [esi + 0x78], edi
adc dword [esi + 0x7c], 0
jmp 0x10059593
mov dword [0x1008f8f4], 0x1008373c
int3
mov eax, dword [esp + 4]
add dword [esi + 0x78], eax
jmp 0x1005962b
mov dword [0x1008f8f4], 0x10082d42
int3
mov dword [0x1008f8f4], 0x1008371f
int3