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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov ebx, ecx
push esi
push edi
cmp byte [ebx + 8], 0
je 0x471b4d
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x471b42
cmp byte [eax + 5], 0
jne 0x471b34
cmp byte [eax + 4], 0
je 0x471b42
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x471b65
push dword [ebx + 0x38]
push dword [ebp + 8]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov esi, dword [ebx + 0xc]
mov edx, dword [ebp + 8]
test esi, esi
jne 0x471b76
xor edi, edi
jmp 0x471f8a
cmp byte [esi + 0x38], 0
je 0x471b95
mov byte [esi + 0x38], 0
test dl, dl
je 0x471b8b
mov edi, dword [esi]
jmp 0x471f8a
mov edi, 1
jmp 0x471f8a
mov dword [esi], 0
lea eax, [esi + 0x14]
mov dword [esi + 4], 0
xorps xmm0, xmm0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [ebp - 8], eax
movups xmmword [eax], xmm0
movq qword [eax + 0x10], xmm0
mov dword [eax + 0x18], 0
test dl, dl
je 0x471be4
push 1
push 0
push 0
push 0
push eax
call dword [0x556668]
jmp 0x471bf1
push 0
push 0
push 0
push eax
call dword [0x556548]
mov edi, eax
test edi, edi
je 0x471c0b
mov eax, dword [esi + 0x18]
cmp eax, 0xcae
jne 0x471c22
mov dword [esi], 0xfffffffa
mov byte [esi + 0x39], 1
cmp byte [ebp + 8], 0
je 0x471e35
test edi, edi
jne 0x471e46
jmp 0x471f8a
test eax, eax
je 0x471f8a
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x471c0b
cmp eax, 0xcb1
jne 0x471c0b
mov edx, dword [ecx + 0x3c]
mov eax, dword [esi + 0x1c]
mov dword [ebp - 4], eax
test edx, edx
je 0x471f8a
cmp eax, 1
jl 0x471f8a
cmp eax, dword [ecx + 0x40]
jg 0x471f8a
lea eax, [eax + eax*8]
cmp dword [edx + eax*8 + 0xc], 0
je 0x471f8a
mov edx, dword [esi + 0x20]
cmp edx, 0x205
jne 0x471cb1
mov eax, dword [ebp - 8]
mov edx, dword [eax]
mov eax, dword [ecx + 0x1c0]
test eax, eax
je 0x471f8a
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xffffffea
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 8], 0x205
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 4], edx
jmp 0x471e0d
cmp edx, 0x203
jne 0x471cf6
mov eax, dword [ebp - 8]
mov edx, dword [eax]
mov eax, dword [ecx + 0x1c0]
test eax, eax
je 0x471f8a
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xfffffff2
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 8], 0x203
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 4], edx
jmp 0x471e0d
cmp edx, 0x202
jne 0x471d16
mov eax, dword [ebp - 8]
push 0
push 0
push dword [eax]
push edx
mov edx, dword [ebp - 4]
push edx
call fcn.0043c950
jmp 0x471f8a
cmp edx, 0x402
jne 0x471d5b
mov eax, dword [ebp - 8]
mov edx, dword [eax]
mov eax, dword [ecx + 0x1c0]
test eax, eax
je 0x471f8a
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xffffff35
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 8], 0x402
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 4], edx
jmp 0x471e0d
cmp edx, 0x403
je 0x471ddb
cmp edx, 0x404
je 0x471ddb
mov eax, dword [esi + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ecx + 0x1c0]
cmp edx, 0x405
jne 0x471dad
test eax, eax
je 0x471f8a
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xffffff34
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 8], edx
mov eax, dword [ecx + 0x1c0]
mov edx, dword [ebp - 8]
mov dword [eax + 4], edx
jmp 0x471e0d
test eax, eax
je 0x471f8a
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xffffff36
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 8], edx
mov eax, dword [ecx + 0x1c0]
mov edx, dword [ebp - 8]
mov dword [eax + 4], edx
jmp 0x471e0d
mov eax, dword [ecx + 0x1c0]
mov esi, dword [esi + 0x14]
test eax, eax
je 0x471f8a
mov dword [eax + 0x30], ecx
mov eax, dword [ecx + 0x1c0]
mov dword [eax], 0xffffff33
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 8], edx
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 4], esi
mov eax, dword [ecx + 0x1c0]
mov edx, dword [ebp - 4]
mov dword [eax + 0xc], edx
mov eax, dword [ecx + 0x1c0]
mov dword [eax + 0x10], 0
mov eax, dword [ecx + 0x1c0]
mov byte [eax + 0x38], 1
jmp 0x471f8a
test edi, edi
jg 0x471e46
mov dword [esi], 0xfffffed4
xor edi, edi
jmp 0x471f8a
cmp dword [esi + 0x18], 0x100
jne 0x471f0b
mov eax, dword [esi + 0x30]
mov dword [ebp - 4], eax
test eax, eax
je 0x471f0b
mov eax, 0xd
cmp ax, word [esi + 0x1c]
jne 0x471f0b
mov eax, dword [esi + 0x14]
xor ecx, ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x471e80
xor edx, edx
jmp 0x471ee2
push 0xfffffffffffffff4
push eax
call dword [0x556660]
mov edx, eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x471ede
cmp edx, 1
jl 0x471ede
cmp edx, dword [eax + 0x40]
jg 0x471ede
lea eax, [edx + edx*8]
cmp dword [ecx + eax*8 + 0xc], 0
lea ecx, [ecx + eax*8]
je 0x471ede
mov eax, dword [ebp - 0xc]
cmp dword [ecx + 4], eax
jne 0x471ede
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x471ee0
cmp edx, dword [eax + 0x40]
jg 0x471ee0
lea eax, [edx + edx*8]
cmp dword [ecx + eax*8 + 0xc], 0
lea ecx, [ecx + eax*8]
je 0x471ee0
mov ecx, dword [ecx]
cmp ecx, 0x23
je 0x471eec
cmp ecx, 0x24
jne 0x471ee2
jmp 0x471eec
xor edx, edx
xor ecx, ecx
cmp ecx, 0x22
je 0x471eec
cmp ecx, 0x25
jne 0x471f0b
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
movzx eax, dx
push eax
push 0x111
push ecx
call dword [0x55656c]
push eax
call dword [0x55657c]
jmp 0x471f8a
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x471f5b
lea eax, [esi + 0x14]
test eax, eax
jne 0x471f1d
xor cl, cl
jmp 0x471f57
mov edx, dword [ecx + 0x244]
add ecx, 0x230
mov dword [ebp - 0xc], ecx
test edx, edx
je 0x471f49
push eax
push edx
push dword [ecx]
call dword [0x5565f4]
test eax, eax
setne cl
test eax, eax
jne 0x471f57
mov ecx, dword [ebp - 0xc]
lea eax, [esi + 0x14]
push eax
push dword [ecx]
call dword [0x556690]
test eax, eax
setne cl
test cl, cl
jne 0x471f6f
lea eax, [esi + 0x14]
push eax
call dword [0x5565ec]
lea eax, [esi + 0x14]
push eax
call dword [0x556658]
mov edx, dword [ebp + 8]
mov byte [esi + 0x38], 0
cmp dl, 1
jne 0x471f7f
mov edi, dword [esi]
jmp 0x471f8a
cmp dl, 2
mov eax, 1
cmove edi, eax
mov ecx, dword [ebx + 0xd0]
test ecx, ecx
je 0x471fed
cmp dword [ecx + 0x10], 4
jne 0x471fed
mov eax, dword [ebx + 0xc]
mov edx, dword [eax]
lea eax, [edx + 0x1a]
cmp eax, 0x1a
ja 0x471fe8
cmp edx, 0xfffffffe
je 0x471fe8
cmp edx, 0xfffffff9
je 0x471fe8
cmp edx, 0xfffffff8
je 0x471fe8
cmp edx, 0xfffffff6
je 0x471fe8
cmp edx, 0xfffffff3
je 0x471fe8
cmp edx, 0xfffffff2
je 0x471fe8
cmp edx, 0xffffffee
je 0x471fe8
cmp edx, 0xffffffed
je 0x471fe8
cmp edx, 0xffffffec
je 0x471fe8
cmp edx, 0xffffffe7
je 0x471fe8
cmp edx, 0xfffffff5
je 0x471fe8
cmp edx, 0xffffffea
je 0x471fe8
cmp edx, 0xfffffffa
jne 0x471fed
call fcn.0043e900
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x472016
mov eax, dword [ebx + 0xc]
cmp dword [eax + 0x30], ecx
jne 0x472016
mov ecx, dword [ebx + 0x18]
test ecx, ecx
jle 0x472051
cmp dword [eax], ecx
jne 0x472051
mov dword [eax], 0xfffffffa
mov eax, dword [ebx + 0x4c]
mov byte [eax + 5], 1
jmp 0x472051
mov ecx, dword [ebx + 0xcc]
test ecx, ecx
je 0x472051
mov edx, dword [ebx + 0xc]
lea eax, [ecx + 0x78]
cmp dword [edx + 0x30], eax
jne 0x472051
mov esi, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
test esi, esi
jle 0x472042
cmp dword [edx], esi
jne 0x472042
mov eax, dword [ebx + 0x4c]
mov byte [eax + 5], 1
jmp 0x472051
test eax, eax
jle 0x472051
cmp dword [edx], eax
jne 0x472051
mov eax, dword [ebx + 0x4c]
mov byte [eax + 4], 1
mov eax, dword [ebx + 0x108]
test eax, eax
je 0x47209f
cmp byte [eax], 0
je 0x47209f
mov eax, dword [ebx + 0xc]
mov eax, dword [eax]
cmp eax, 0xffffffe1
jne 0x472087
push 0
call dword [0x556038]
cmp byte [ebp + 8], 0
mov eax, 1
cmovne eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test eax, eax
jne 0x4720ad
cmp byte [ebp + 8], al
mov eax, 1
cmovne eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 0xc]
cmp dword [eax], 0xffffffe1
jne 0x4720ad
mov dword [eax], 0xfffffffa
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4