Function at 0x576fc0
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 0x57701e
mov eax, dword [ebx + 0x18]
mov ecx, edi
sub ecx, dword [ebx + 8]
sar ecx, 1
cmp byte [ecx + eax], 0
je 0x57701e
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.0057a510
mov edx, dword [esp + 0x40]
add esp, 0x10
cmp edi, edx
jae 0x577669
mov edx, 0x81
jmp 0x577034
mov esi, dword [esp + 0x34]
movzx ecx, word [edi]
movzx eax, cx
dec eax
mov dword [esp + 0x20], ecx
cmp eax, 0xa5
ja case.0x577051.98
movzx eax, byte [eax + 0x57771c]
jmp dword [eax*4 + 0x5776c4]
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.00579750
add esp, 0x10
mov edi, eax
jmp 0x577654
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.005739b0
add esp, 0x14
mov edi, eax
jmp 0x577654
cmp dword [ebp], 0
jne case.0x577051.98
push 0x14
push ebp
call fcn.00581f00
add esp, 8
mov ecx, eax
cmp dword [ebp], 0
jne case.0x577051.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 0x577109
add eax, 0x20
push eax
push 0x8d
push 0
push 3
push 1
push ebp
call fcn.00581ba0
add esp, 0x18
test eax, eax
je 0x577109
mov byte [eax], 0x8b
push 1
push ebx
call fcn.0056d330
add esp, 8
cmp dword [ebp], 0
jne 0x57715f
mov eax, dword [ebx + 0x24]
add eax, 0x20
push eax
push 0x8d
push 0
push 2
push 1
push ebp
call fcn.00581ba0
add esp, 0x18
test eax, eax
je 0x57713c
mov byte [eax], 0x89
cmp dword [ebp], 0
jne 0x57715f
push 0
push 0x8b
push 0
push 3
push 1
push ebp
call fcn.00581ba0
add esp, 0x18
test eax, eax
je 0x57715f
mov byte [eax], 0x89
add edi, 2
jmp 0x577654
mov edx, dword [esi + 8]
add esi, 0xc
cmp dword [ebx + 0x68], 1
lea eax, [edx + 4]
jne 0x577192
test edx, edx
cmove eax, esi
mov esi, dword [esp + 0x30]
push eax
push esi
push edi
push ebx
call fcn.00574990
add esp, 0x10
mov edi, eax
jmp 0x577658
test edx, edx
push 1
cmove eax, esi
push eax
lea eax, [edi + 2]
push eax
push ecx
push ebx
call fcn.005739b0
add esp, 0x14
mov edi, eax
jmp 0x577654
mov ax, word [edi + 0x22]
sub ax, 0x62
cmp ax, 0xb
ja case.0x577051.6
push esi
push edi
push ebx
call fcn.00575bd0
add esp, 0xc
mov edi, eax
jmp 0x577654
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 0x5771fd
push esi
push edi
push ebx
call fcn.00575bd0
add esp, 0xc
mov edi, eax
jmp 0x577654
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.005739b0
add esp, 0x14
mov edi, eax
jmp 0x577654
lea eax, [edi + 4]
mov dword [esp + 0x20], eax
mov ax, word [eax]
sub ax, 0x62
cmp ax, 0xb
ja 0x57724d
push esi
push edi
push ebx
call fcn.00578560
add esp, 0xc
mov edi, eax
jmp 0x577654
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.00578dd0
mov edi, dword [esp + 0x34]
add esp, 0x14
jmp 0x577654
lea eax, [edi + 6]
mov dword [esp + 0x20], eax
mov ax, word [eax]
sub ax, 0x62
cmp ax, 0xb
ja 0x577299
push esi
push edi
push ebx
call fcn.00578560
add esp, 0xc
mov edi, eax
jmp 0x577654
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.00575070
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.00578dd0
mov edi, dword [esp + 0x40]
add esp, 0x20
jmp 0x577654
push esi
push edi
push ebx
call fcn.00578200
add esp, 0xc
mov edi, eax
jmp 0x577654
push esi
push edi
push ebx
call fcn.00573650
add esp, 0xc
mov edi, eax
jmp 0x577654
cmp dword [ebp], 0
jne case.0x577051.98
push 0x24
push ebp
call fcn.00581f00
add esp, 8
mov ecx, eax
cmp dword [ebp], 0
jne case.0x577051.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.0056eef0
add esp, 0x10
mov edi, eax
jmp 0x577654
cmp dword [ebp], 0
jne case.0x577051.98
push 0x18
push ebp
call fcn.00581f00
add esp, 8
mov ecx, eax
cmp dword [ebp], 0
mov dword [esp + 0x20], ecx
jne case.0x577051.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 0x577390
add edi, 4
cmp eax, 0x7b
je 0x5773b6
push 1
push ebx
call fcn.0056d330
add esp, 8
xor eax, eax
jmp 0x5773d9
push 2
push ebx
call fcn.0056d330
push 0
push 0x40
push 0
push 0x8b
push 0x20
push ebp
call fcn.0058d570
add esp, 0x20
mov eax, 4
push 0
push 2
push eax
push 0x8b
push 0x20
push ebp
call fcn.0058d570
push ebp
call fcn.0058d340
mov ecx, dword [esp + 0x3c]
push ebx
mov dword [ecx + 0x14], eax
call fcn.0057d110
add esp, 0x20
jmp 0x577654
cmp word [edi + 2], dx
jbe case.0x577051.126
push esi
push edi
push ebx
call fcn.00571790
add esp, 0xc
mov edi, eax
jmp 0x577654
push esi
push edi
push ebx
call fcn.00572c60
add esp, 0xc
mov edi, eax
jmp 0x577654
cmp dword [ebp], 0
jne case.0x577051.98
push 0x14
push ebp
call fcn.00581f00
add esp, 8
mov ecx, eax
cmp dword [ebp], 0
jne case.0x577051.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.0058d570
xor eax, eax
cmp dword [ebx + 0x78], eax
setne al
lea eax, [eax*4 + 1]
push eax
push ebx
call fcn.0056d330
push 0
push 8
push 0
push 1
push 0x20
push ebp
call fcn.0058d570
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.0058d570
add esp, 0x50
lea esi, [edi + 4]
push esi
push 0x40
push 0
push 3
push 0x20
push ebp
call fcn.0058d570
push 0
push 3
push dword [ebx + 0x40]
push 0x8d
push 0x20
push ebp
call fcn.0058d570
push 0
push 3
push 0x18
push 0x81
push 0x20
push ebp
call fcn.0058d570
add esp, 0x48
cmp dword [ebx + 0x78], 0
je 0x577581
push dword [ebx + 0x44]
push 0x8d
push 0
push 1
push 0x20
push ebp
call fcn.0058d570
push 0
push 0xb
push dword [ebx + 0x44]
push 0x8d
push 0x20
push ebp
call fcn.0058d570
push 0
push 0x40
push 4
push 0x8b
push 0x20
push ebp
call fcn.0058d570
add esp, 0x48
push esi
push 0x40
push 8
push 0x8b
push 0x20
push ebp
call fcn.0058d570
push 0
push 2
push 0xc
push 0x8b
push 0x20
push ebp
call fcn.0058d570
push 0
push 1
push 0
push 0x8b
push 0x20
push ebp
call fcn.0058d570
add esp, 0x48
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
add edi, 6
jmp 0x577654
push esi
push edi
push ebx
call fcn.00574f10
add esp, 0xc
mov edi, eax
jmp 0x577654
push esi
push edi
push ebx
call fcn.005751e0
add esp, 0xc
mov edi, eax
jmp 0x577654
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 0x57763b
test al, al
jne 0x5775f4
mov eax, dword [ebx + 0x20]
lea eax, [eax + ecx*4]
push eax
push 0x8d
push 0
push 1
push 0x20
push esi
call fcn.0058d570
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.0058d570
add esp, 0x18
cmp byte [esp + 0x13], 0
jne 0x57763b
mov eax, dword [ebx + 0x24]
add eax, dword [esp + 0x20]
push 0
push 1
push eax
push 0x8d
push 0x20
push esi
call fcn.0058d570
add esp, 0x18
add edi, 4
jmp 0x577654
lea ecx, [edi + 2]
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x78
lea ecx, [ecx + eax*2]
je 0x577643
lea edi, [ecx + 4]
mov esi, dword [esp + 0x30]
test edi, edi
je case.0x577051.98
mov edx, 0x81
cmp edi, esi
jb 0x577030
cmp dword [esp + 0x14], 0
je case.0x577051.98
cmp dword [ebp], 0
jne case.0x577051.98
push 0x24
push ebp
call fcn.00581f00
add esp, 8
mov edx, eax
cmp dword [ebp], 0
jne case.0x577051.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], 0x72aff8
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