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

Disassembly:
sub esp, 0x54
push ebx
mov ebx, dword [esp + 0x60]
push esi
mov esi, dword [esp + 0x68]
push edi
push 0
push 0x190
push esi
push ebx
call fcn.005b83b0
push 0
push 0x190
push edx
push eax
call fcn.005b8070
push 0
sub ebx, eax
mov eax, dword [esp + 0x84]
push 0x23ab1
push eax
mov eax, dword [esp + 0x88]
sbb esi, edx
push eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], esi
call fcn.005b83b0
push 0
push 0x190
mov esi, edx
mov edi, eax
push esi
push edi
call fcn.005b8070
push 0xffffffffffffffff
push 0xfffdc54f
add ebx, eax
push esi
adc dword [esp + 0x18], edx
push edi
mov dword [esp + 0x20], ebx
call fcn.005b8070
mov ecx, dword [esp + 0x7c]
add ecx, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x14], ecx
adc eax, edx
mov dword [esp + 0x18], eax
test eax, eax
jg 0x57d651
jl 0x57d631
test ecx, ecx
jae 0x57d651
add ebx, 0xfffffe70
mov dword [esp + 0x10], ebx
adc dword [esp + 0xc], 0xffffffff
add ecx, 0x23ab1
mov dword [esp + 0x14], ecx
adc eax, 0
mov dword [esp + 0x18], eax
mov ebx, dword [esp + 0x74]
push 0
push 0x23ab1
push dword [esp + 0x80]
push ebx
call fcn.005b83b0
push 0
push 0x190
mov esi, edx
mov edi, eax
push esi
push edi
call fcn.005b8070
mov ecx, dword [esp + 0x10]
push 0
add ecx, eax
mov eax, dword [esp + 0x10]
push 0x23ab1
adc eax, edx
mov dword [esp + 0x18], ecx
push esi
push edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], eax
call fcn.005b8070
mov ecx, dword [esp + 0x78]
sub ebx, eax
mov eax, dword [esp + 0x18]
sbb ecx, edx
add ebx, dword [esp + 0x14]
mov edx, ecx
adc edx, eax
mov al, byte [esp + 0x70]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x70], eax
test edx, edx
jl 0x57d705
jg 0x57d6e5
test ebx, ebx
je 0x57d705
test edx, edx
jl 0x57d77b
jg 0x57d6e5
cmp ebx, 0x23ab1
jbe 0x57d77b
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
add esi, 0x190
adc edi, 0
add ebx, 0xfffdc54f
adc edx, 0xffffffff
mov dword [esp + 0x7c], edx
jmp 0x57d783
cmp edx, 0xffffffff
jl 0x57d75b
jg 0x57d714
cmp ebx, 0xfffffe93
jbe 0x57d75b
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
sub esi, 1
sbb edi, 0
cmp al, 2
jle 0x57d730
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
jmp 0x57d734
mov eax, esi
mov ecx, edi
push ecx
push eax
call fcn.0057d520
movzx eax, al
add esp, 8
cdq
add ebx, eax
mov eax, dword [esp + 0x70]
adc edx, dword [esp + 0x7c]
add ebx, 0x16d
adc edx, 0
mov dword [esp + 0x7c], edx
jmp 0x57d783
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
add esi, 0xfffffe70
adc edi, 0xffffffff
add ebx, 0x23ab1
adc edx, 0
mov dword [esp + 0x7c], edx
jmp 0x57d783
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
test edx, edx
jl 0x57d99e
jg 0x57d799
cmp ebx, 0x16d
jbe 0x57d8eb
cmp al, 2
jle 0x57d7a6
mov eax, 1
xor ecx, ecx
jmp 0x57d7b7
xorps xmm0, xmm0
movlpd qword [esp + 0x74], xmm0
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
add eax, esi
push 0
push 0x190
adc ecx, edi
push ecx
push eax
call fcn.005b80b0
mov edx, dword [esp + 0x7c]
test eax, eax
mov dword [esp + 0x74], 0x64
lea ecx, [eax + 0x190]
cmovns ecx, eax
mov dword [esp + 0x7c], ecx
test ecx, ecx
je 0x57d7f5
mov eax, 0x8eac
cmp ecx, 0x12c
jle 0x57d7fa
mov eax, 0x8ead
test edx, edx
jl 0x57d82d
jg 0x57d804
cmp ebx, eax
jbe 0x57d82d
sub ebx, eax
mov eax, 0xfffffed4
sbb edx, 0
add esi, 0x64
adc edi, 0
add ecx, 0x64
cmp ecx, 0x190
mov ecx, 0x64
cmovl eax, ecx
mov ecx, eax
add ecx, dword [esp + 0x7c]
jmp 0x57d7e0
mov dword [esp + 0x7c], edx
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x57d857
cmp ecx, 0x12c
jg 0x57d857
lea eax, [ecx - 1]
cdq
idiv dword [esp + 0x74]
mov eax, 0x5b4
cmp edx, 0x60
mov edx, dword [esp + 0x7c]
jge 0x57d85c
mov eax, 0x5b5
test edx, edx
jl 0x57d890
jg 0x57d866
cmp ebx, eax
jbe 0x57d890
sub ebx, eax
sbb edx, 0
add esi, 4
mov dword [esp + 0x7c], edx
adc edi, 0
add ecx, 4
cmp ecx, 0x190
jl 0x57d831
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffe74
jmp 0x57d831
cmp byte [esp + 0x70], 2
jle 0x57d8a0
mov eax, 1
xor ecx, ecx
jmp 0x57d8b1
xorps xmm0, xmm0
movlpd qword [esp + 0x74], xmm0
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
add eax, esi
adc ecx, edi
push ecx
push eax
call fcn.0057d520
movzx eax, al
add esp, 8
cdq
add eax, 0x16d
mov ecx, edx
mov edx, dword [esp + 0x7c]
adc ecx, 0
cmp edx, ecx
jl 0x57d8eb
jg 0x57d8db
cmp ebx, eax
jbe 0x57d8eb
sub ebx, eax
sbb edx, ecx
add esi, 1
mov dword [esp + 0x7c], edx
adc edi, 0
jmp 0x57d890
test edx, edx
jl 0x57d99e
jg 0x57d8fe
cmp ebx, 0x1c
jbe 0x57d99e
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x5c], 0x1f
movups xmm2, xmmword [0x5f8040]
movups xmm1, xmmword [0x5f8060]
movups xmm0, xmmword [0x5f8050]
movups xmmword [esp + 0x3c], xmm1
movups xmmword [esp + 0x2c], xmm0
movups xmmword [esp + 0x4c], xmm2
cmp cl, 2
jne 0x57d948
push edi
push esi
call fcn.0057d520
add esp, 8
test al, al
je 0x57d948
mov edx, 1
jmp 0x57d94a
xor edx, edx
mov ecx, dword [esp + 0x70]
movsx eax, cl
mov eax, dword [esp + eax*4 + 0x2c]
add eax, edx
cdq
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x7c]
cmp edx, dword [esp + 0x70]
jl 0x57d9a2
jg 0x57d96c
cmp ebx, eax
jbe 0x57d9a2
sub ebx, eax
sbb edx, dword [esp + 0x70]
inc cl
mov dword [esp + 0x7c], edx
mov al, cl
mov dl, cl
cmp dl, 0xc
jle 0x57d987
add esi, 1
adc edi, 0
cmp dl, 0xc
movzx eax, al
mov ecx, 1
cmovle ecx, eax
mov dword [esp + 0x70], ecx
jmp 0x57d902
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x64]
sub esi, dword [esp + 0x24]
sbb edi, dword [esp + 0x28]
add esi, dword [esp + 0x68]
mov byte [eax + 8], cl
mov cl, byte [esp + 0x84]
adc edi, dword [esp + 0x6c]
mov byte [eax + 0xa], cl
mov cl, byte [esp + 0x88]
mov dword [eax + 4], edi
pop edi
mov dword [eax], esi
mov byte [eax + 0xb], cl
mov cl, byte [esp + 0x88]
pop esi
mov byte [eax + 9], bl
mov byte [eax + 0xc], cl
pop ebx
add esp, 0x54
ret