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

Disassembly:
sub esp, 0x14
mov edx, dword [esp + 0x20]
push ebx
mov ebx, dword [esp + 0x1c]
push ebp
push esi
mov esi, dword [esp + 0x30]
cmp dword [ebx + 0x7c], 0
mov ebp, dword [ebx]
push edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
je 0x57099e
mov eax, dword [ebx + 0x18]
mov ecx, edi
sub ecx, dword [ebx + 8]
sar ecx, 1
cmp byte [ecx + eax], 0
je 0x57099e
mov eax, dword [ebx + 0x1c]
push esi
push edx
push edi
push ebx
mov dword [esp + 0x24], 1
mov dword [esp + 0x28], eax
call fcn.00573e90
mov edx, dword [esp + 0x40]
add esp, 0x10
cmp edi, edx
jae 0x570fe9
mov edx, 0x81
jmp 0x5709b4
mov esi, dword [esp + 0x34]
movzx ecx, word [edi]
movzx eax, cx
dec eax
mov dword [esp + 0x20], ecx
cmp eax, 0xa5
ja case.0x5709d1.98
movzx eax, byte [eax + 0x57109c]
jmp dword [eax*4 + 0x571044]
mov eax, dword [esi + 8]
lea ecx, [esi + 0xc]
test eax, eax
lea edx, [eax + 4]
cmove edx, ecx
lea eax, [edi + 2]
push edx
push eax
movzx eax, word [edi]
push eax
push ebx
call fcn.005730d0
add esp, 0x10
mov edi, eax
jmp 0x570fd4
mov ecx, dword [esi + 8]
lea edx, [esi + 0xc]
test ecx, ecx
push 1
lea eax, [ecx + 4]
cmove eax, edx
push eax
lea eax, [edi + 2]
push eax
movzx eax, word [edi]
push eax
push ebx
call fcn.0056d330
add esp, 0x14
mov edi, eax
jmp 0x570fd4
cmp dword [ebp], 0
jne case.0x5709d1.98
push 0x14
push ebp
call fcn.0057b880
add esp, 8
mov ecx, eax
cmp dword [ebp], 0
jne case.0x5709d1.98
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov eax, dword [esi + 8]
mov dword [ecx], eax
mov dword [ecx + 0x10], edi
mov dword [esi + 8], ecx
cmp dword [ebp], 0
mov eax, dword [ebx + 0x24]
jne 0x570a89
add eax, 0x20
push eax
push 0x8d
push 0
push 3
push 1
push ebp
call fcn.0057b520
add esp, 0x18
test eax, eax
je 0x570a89
mov byte [eax], 0x8b
push 1
push ebx
call fcn.00566cb0
add esp, 8
cmp dword [ebp], 0
jne 0x570adf
mov eax, dword [ebx + 0x24]
add eax, 0x20
push eax
push 0x8d
push 0
push 2
push 1
push ebp
call fcn.0057b520
add esp, 0x18
test eax, eax
je 0x570abc
mov byte [eax], 0x89
cmp dword [ebp], 0
jne 0x570adf
push 0
push 0x8b
push 0
push 3
push 1
push ebp
call fcn.0057b520
add esp, 0x18
test eax, eax
je 0x570adf
mov byte [eax], 0x89
add edi, 2
jmp 0x570fd4
mov edx, dword [esi + 8]
add esi, 0xc
cmp dword [ebx + 0x68], 1
lea eax, [edx + 4]
jne 0x570b12
test edx, edx
cmove eax, esi
mov esi, dword [esp + 0x30]
push eax
push esi
push edi
push ebx
call fcn.0056e310
add esp, 0x10
mov edi, eax
jmp 0x570fd8
test edx, edx
push 1
cmove eax, esi
push eax
lea eax, [edi + 2]
push eax
push ecx
push ebx
call fcn.0056d330
add esp, 0x14
mov edi, eax
jmp 0x570fd4
mov ax, word [edi + 0x22]
sub ax, 0x62
cmp ax, 0xb
ja case.0x5709d1.6
push esi
push edi
push ebx
call fcn.0056f550
add esp, 0xc
mov edi, eax
jmp 0x570fd4
lea eax, [edi + 2]
mov dword [esp + 0x1c], eax
movzx eax, word [eax]
mov ax, word [edi + eax*2]
sub ax, 0x62
cmp ax, 0xb
ja 0x570b7d
push esi
push edi
push ebx
call fcn.0056f550
add esp, 0xc
mov edi, eax
jmp 0x570fd4
mov ecx, dword [esi + 8]
lea edx, [esi + 0xc]
test ecx, ecx
push 1
lea eax, [ecx + 4]
cmove eax, edx
push eax
push dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
push eax
push ebx
call fcn.0056d330
add esp, 0x14
mov edi, eax
jmp 0x570fd4
lea eax, [edi + 4]
mov dword [esp + 0x20], eax
mov ax, word [eax]
sub ax, 0x62
cmp ax, 0xb
ja 0x570bcd
push esi
push edi
push ebx
call fcn.00571ee0
add esp, 0xc
mov edi, eax
jmp 0x570fd4
mov ecx, dword [esi + 8]
lea edx, [esi + 0xc]
push 0
test ecx, ecx
push 1
lea eax, [ecx + 4]
cmove eax, edx
push eax
push edi
push ebx
call fcn.00572750
mov edi, dword [esp + 0x34]
add esp, 0x14
jmp 0x570fd4
lea eax, [edi + 6]
mov dword [esp + 0x20], eax
mov ax, word [eax]
sub ax, 0x62
cmp ax, 0xb
ja 0x570c19
push esi
push edi
push ebx
call fcn.00571ee0
add esp, 0xc
mov edi, eax
jmp 0x570fd4
mov ecx, dword [esi + 8]
add esi, 0xc
test ecx, ecx
lea eax, [ecx + 4]
cmove eax, esi
push eax
push edi
push ebx
call fcn.0056e9f0
mov ecx, dword [esp + 0x40]
push 0
push 1
mov ecx, dword [ecx + 8]
test ecx, ecx
lea eax, [ecx + 4]
cmove eax, esi
push eax
push edi
push ebx
call fcn.00572750
mov edi, dword [esp + 0x40]
add esp, 0x20
jmp 0x570fd4
push esi
push edi
push ebx
call fcn.00571b80
add esp, 0xc
mov edi, eax
jmp 0x570fd4
push esi
push edi
push ebx
call fcn.0056cfd0
add esp, 0xc
mov edi, eax
jmp 0x570fd4
cmp dword [ebp], 0
jne case.0x5709d1.98
push 0x24
push ebp
call fcn.0057b880
add esp, 8
mov ecx, eax
cmp dword [ebp], 0
jne case.0x5709d1.98
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
push 0
movups xmmword [ecx + 0x10], xmm0
mov dword [ecx + 0x20], 0
mov eax, dword [esi + 8]
push ecx
mov dword [ecx], eax
push edi
mov dword [ecx + 0x10], edi
push ebx
mov dword [esi + 8], ecx
call fcn.00568870
add esp, 0x10
mov edi, eax
jmp 0x570fd4
cmp dword [ebp], 0
jne case.0x5709d1.98
push 0x18
push ebp
call fcn.0057b880
add esp, 8
mov ecx, eax
cmp dword [ebp], 0
mov dword [esp + 0x20], ecx
jne case.0x5709d1.98
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
movq qword [ecx + 0x10], xmm0
mov eax, dword [esi + 8]
mov dword [ecx + 0x10], edi
add edi, 2
mov dword [ecx], eax
mov dword [esi + 8], ecx
nop dword [eax]
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
movzx eax, word [edi]
cmp eax, 0x78
je 0x570d10
add edi, 4
cmp eax, 0x7b
je 0x570d36
push 1
push ebx
call fcn.00566cb0
add esp, 8
xor eax, eax
jmp 0x570d59
push 2
push ebx
call fcn.00566cb0
push 0
push 0x40
push 0
push 0x8b
push 0x20
push ebp
call fcn.00586ef0
add esp, 0x20
mov eax, 4
push 0
push 2
push eax
push 0x8b
push 0x20
push ebp
call fcn.00586ef0
push ebp
call fcn.00586cc0
mov ecx, dword [esp + 0x3c]
push ebx
mov dword [ecx + 0x14], eax
call fcn.00576a90
add esp, 0x20
jmp 0x570fd4
cmp word [edi + 2], dx
jbe case.0x5709d1.126
push esi
push edi
push ebx
call fcn.0056b110
add esp, 0xc
mov edi, eax
jmp 0x570fd4
push esi
push edi
push ebx
call fcn.0056c5e0
add esp, 0xc
mov edi, eax
jmp 0x570fd4
cmp dword [ebp], 0
jne case.0x5709d1.98
push 0x14
push ebp
call fcn.0057b880
add esp, 8
mov ecx, eax
cmp dword [ebp], 0
jne case.0x5709d1.98
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov eax, dword [esi + 8]
mov dword [ecx], eax
mov dword [ecx + 0x10], edi
mov dword [esi + 8], ecx
push dword [ebx + 0x40]
push 0x8d
push 0
push 3
push 0x20
push ebp
call fcn.00586ef0
xor eax, eax
cmp dword [ebx + 0x78], eax
setne al
lea eax, [eax*4 + 1]
push eax
push ebx
call fcn.00566cb0
push 0
push 8
push 0
push 1
push 0x20
push ebp
call fcn.00586ef0
mov eax, dword [ebx + 0x78]
neg eax
push 0
push 3
sbb eax, eax
and eax, 0x10
push eax
push 0x8b
push 0x20
push ebp
call fcn.00586ef0
add esp, 0x50
lea esi, [edi + 4]
push esi
push 0x40
push 0
push 3
push 0x20
push ebp
call fcn.00586ef0
push 0
push 3
push dword [ebx + 0x40]
push 0x8d
push 0x20
push ebp
call fcn.00586ef0
push 0
push 3
push 0x18
push 0x81
push 0x20
push ebp
call fcn.00586ef0
add esp, 0x48
cmp dword [ebx + 0x78], 0
je 0x570f01
push dword [ebx + 0x44]
push 0x8d
push 0
push 1
push 0x20
push ebp
call fcn.00586ef0
push 0
push 0xb
push dword [ebx + 0x44]
push 0x8d
push 0x20
push ebp
call fcn.00586ef0
push 0
push 0x40
push 4
push 0x8b
push 0x20
push ebp
call fcn.00586ef0
add esp, 0x48
push esi
push 0x40
push 8
push 0x8b
push 0x20
push ebp
call fcn.00586ef0
push 0
push 2
push 0xc
push 0x8b
push 0x20
push ebp
call fcn.00586ef0
push 0
push 1
push 0
push 0x8b
push 0x20
push ebp
call fcn.00586ef0
add esp, 0x48
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
add edi, 6
jmp 0x570fd4
push esi
push edi
push ebx
call fcn.0056e890
add esp, 0xc
mov edi, eax
jmp 0x570fd4
push esi
push edi
push ebx
call fcn.0056eb60
add esp, 0xc
mov edi, eax
jmp 0x570fd4
cmp dword [ebx + 0xd8], 0
movzx ecx, word [edi + 2]
mov eax, dword [ebx + 0x14]
mov esi, dword [ebx]
mov dword [esp + 0x20], ecx
mov al, byte [ecx + eax]
mov byte [esp + 0x13], al
jne 0x570fbb
test al, al
jne 0x570f74
mov eax, dword [ebx + 0x20]
lea eax, [eax + ecx*4]
push eax
push 0x8d
push 0
push 1
push 0x20
push esi
call fcn.00586ef0
mov ecx, dword [esp + 0x38]
add esp, 0x18
mov eax, dword [ebx + 0x24]
push 0
shl ecx, 3
add eax, 4
push 2
add eax, ecx
mov dword [esp + 0x28], ecx
push eax
push 0x8d
push 0x20
push esi
call fcn.00586ef0
add esp, 0x18
cmp byte [esp + 0x13], 0
jne 0x570fbb
mov eax, dword [ebx + 0x24]
add eax, dword [esp + 0x20]
push 0
push 1
push eax
push 0x8d
push 0x20
push esi
call fcn.00586ef0
add esp, 0x18
add edi, 4
jmp 0x570fd4
lea ecx, [edi + 2]
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x78
lea ecx, [ecx + eax*2]
je 0x570fc3
lea edi, [ecx + 4]
mov esi, dword [esp + 0x30]
test edi, edi
je case.0x5709d1.98
mov edx, 0x81
cmp edi, esi
jb 0x5709b0
cmp dword [esp + 0x14], 0
je case.0x5709d1.98
cmp dword [ebp], 0
jne case.0x5709d1.98
push 0x24
push ebp
call fcn.0057b880
add esp, 8
mov edx, eax
cmp dword [ebp], 0
jne case.0x5709d1.98
mov ecx, dword [esp + 0x34]
xorps xmm0, xmm0
movups xmmword [edx], xmm0
movups xmmword [edx + 0x10], xmm0
mov dword [edx + 0x20], 0
mov eax, dword [ecx + 8]
mov dword [edx], eax
mov dword [ecx + 8], edx
mov dword [edx + 0x10], 0x71c548
mov eax, dword [ebx + 0x1c]
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x1c], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret