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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x1038
call fcn.00545c90
mov eax, dword [0x57a040]
xor eax, esp
mov dword [esp + 0x1034], eax
push esi
mov esi, ecx
push edi
mov dword [esp + 0x18], esi
mov edi, dword [esi*4 + 0x20a514c]
cmp dword [edi + 4], 3
jne 0x520a9b
movzx eax, word [edi + 0x78]
mov dword [esp + 0x1c], 0x1194
cmp eax, 1
je 0x520701
cmp eax, 6
jne 0x520860
mov ecx, dword [edi + 0x364]
mov edx, 4
mov dword [esp + 0x10], edx
inc ecx
mov byte [esp + 0xf], 0
lea esi, [edx + 0x47]
nop dword [eax]
cmp byte [ecx - 1], 3
jne 0x52077a
mov al, byte [ecx + 2]
cmp al, 1
je 0x520739
cmp al, 6
je 0x520739
cmp al, 2
je 0x520739
cmp al, 3
jne 0x52077a
movzx edx, word [ecx]
mov eax, edx
test dx, dx
js 0x520776
cmp ax, word [esp + 0x1c]
jge 0x520776
shr eax, 8
mov byte [esp + 0x15], dl
mov edx, dword [esp + 0x10]
mov byte [esp + 0x14], al
mov ax, word [esp + 0x14]
mov word [esp + edx + 0x38], ax
add edx, 2
mov al, byte [esp + 0xf]
inc al
mov dword [esp + 0x10], edx
mov byte [esp + 0xf], al
jmp 0x52077e
mov edx, dword [esp + 0x10]
mov al, byte [esp + 0xf]
add ecx, 4
sub esi, 1
jne 0x520720
mov esi, dword [esp + 0x18]
test al, al
je 0x5207ac
mov byte [esp + 0x3b], al
lea eax, [esp + 0x38]
push edx
push eax
push esi
mov byte [esp + 0x44], 0xc1
mov byte [esp + 0x45], dl
mov byte [esp + 0x46], 0x14
call fcn.005192f0
xor al, al
mov dword [esp + 0x1c], 0x12c
mov byte [esp + 0xf], al
mov edx, 5
mov eax, dword [esi*4 + 0x20a514c]
mov dword [esp + 0x10], edx
lea esi, [edx + 0x46]
mov ecx, dword [eax + 0x36c]
inc ecx
cmp byte [ecx - 1], 3
jne 0x520821
cmp byte [ecx + 2], 5
jne 0x520821
movzx edx, word [ecx]
mov eax, edx
test dx, dx
js 0x52081d
cmp ax, word [esp + 0x1c]
jge 0x52081d
shr eax, 8
mov byte [esp + 0x15], dl
mov edx, dword [esp + 0x10]
mov byte [esp + 0x14], al
mov ax, word [esp + 0x14]
mov word [esp + edx + 0x38], ax
add edx, 2
mov al, byte [esp + 0xf]
inc al
mov dword [esp + 0x10], edx
mov byte [esp + 0xf], al
jmp 0x520825
mov edx, dword [esp + 0x10]
mov al, byte [esp + 0xf]
add ecx, 4
sub esi, 1
jne 0x5207d4
mov esi, dword [esp + 0x18]
test al, al
je 0x520860
mov eax, edx
mov byte [esp + 0x38], 0xc2
shr eax, 8
mov byte [esp + 0x39], al
mov al, byte [esp + 0xf]
mov byte [esp + 0x3c], al
lea eax, [esp + 0x38]
push edx
push eax
push esi
mov byte [esp + 0x46], dl
mov byte [esp + 0x47], 0x21
call fcn.005192f0
mov edx, dword [esi*4 + 0x20a514c]
xor ecx, ecx
or esi, 0xffffffff
nop dword [eax]
mov eax, dword [edx + 0x364]
cmp byte [ecx + eax], 3
jne 0x520891
mov byte [ecx + eax], 0
mov eax, dword [edx + 0x364]
mov word [ecx + eax + 1], si
dec dword [edx + 0x370]
mov eax, dword [edx + 0x36c]
cmp byte [ecx + eax], 3
jne 0x5208b2
mov byte [ecx + eax], 0
mov eax, dword [edx + 0x36c]
mov word [ecx + eax + 1], si
dec dword [edx + 0x378]
add ecx, 4
cmp ecx, 0x12c
jl 0x520870
cmp word [edi + 0x78], 1
mov esi, dword [esp + 0x18]
jne 0x520a5e
push esi
call fcn.00528af0
push esi
call fcn.005271e0
push esi
call fcn.005274a0
push esi
call fcn.00527760
push esi
call fcn.00527990
push esi
call fcn.00527b90
push esi
call fcn.00527e60
xor al, al
lea edx, [esp + 0x3e]
mov byte [esp + 0xf], al
mov ecx, 6
mov eax, dword [esi*4 + 0x20a514c]
mov dword [esp + 0x1c], edx
mov edx, 0x4b
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
mov edi, dword [eax + 0x364]
inc edi
cmp byte [edi - 1], 1
jne 0x520a15
mov al, byte [edi + 2]
cmp al, 1
je 0x52093d
cmp al, 6
jne 0x520a15
movzx eax, word [edi]
mov ecx, eax
test ax, ax
js 0x520a11
mov esi, 0x1194
cmp cx, si
jge 0x520a11
cwde
mov esi, dword [eax*4 + 0x20a514c]
cmp dword [esi + 0x758], 0
je 0x520a11
mov eax, dword [esi]
push eax
call fcn.004748f0
test eax, eax
jne 0x520a0d
test byte [esi + 0x1e8], 0x20
je 0x5209a7
mov eax, dword [esi + 0x624]
xor ecx, ecx
add eax, 4
mov dl, byte [eax]
cmp dl, 0xff
je 0x52099e
cmp dl, 0x12
je 0x520a0d
inc ecx
add eax, 0x1c
cmp ecx, 0x20
jl 0x520992
movzx eax, byte [esi + 0x758]
mov ecx, dword [esi]
mov edx, dword [esp + 0x10]
mov byte [esp + 0x20], al
mov eax, ecx
shr eax, 8
mov byte [esp + 0x21], al
mov eax, dword [esi + 0x75c]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x760]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x764]
mov esi, dword [esp + 0x1c]
mov byte [esp + 0x22], cl
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
add ecx, 0x10
movups xmm0, xmmword [esp + 0x20]
mov al, byte [esp + 0xf]
mov dword [esp + 0x14], ecx
movups xmmword [esi], xmm0
add esi, 0x10
inc al
mov dword [esp + 0x1c], esi
mov byte [esp + 0xf], al
jmp 0x520a19
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov al, byte [esp + 0xf]
add edi, 4
sub edx, 1
mov dword [esp + 0x10], edx
jne 0x520924
mov esi, dword [esp + 0x18]
test al, al
je 0x520a5e
mov eax, ecx
mov byte [esp + 0x38], 0xc2
shr eax, 8
mov byte [esp + 0x39], al
mov al, byte [esp + 0xf]
mov byte [esp + 0x3d], al
lea eax, [esp + 0x38]
push ecx
push eax
push esi
mov byte [esp + 0x46], cl
mov word [esp + 0x47], 0x5f8
call fcn.005192f0
mov edx, dword [esi*4 + 0x20a514c]
xor ecx, ecx
nop word [eax + eax]
mov eax, dword [edx + 0x364]
cmp byte [ecx + eax], 1
jne 0x520a80
mov byte [ecx + eax], 2
mov eax, dword [edx + 0x36c]
cmp byte [ecx + eax], 1
jne 0x520a90
mov byte [ecx + eax], 2
add ecx, 4
cmp ecx, 0x12c
jl 0x520a70
mov ecx, dword [esp + 0x103c]
pop edi
pop esi
xor ecx, esp
call fcn.00529f01
mov esp, ebp
pop ebp
ret