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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x44
mov edi, 8
movzx edx, byte [0x6c81ad]
xor esi, esi
and edx, 1
mov ebx, 1
mov eax, dword [0x81eb08]
test eax, eax
mov dword [0x6c81a4], edi
cmovle eax, esi
shl edx, 8
add edx, 0x85
mov dword [0x6c81ac], edx
lea edx, [esp]
push edi
push eax
push eax
push 3
push edx
mov dword [0x6c81b0], 2
lea ecx, [eax*8]
mov dword [0x6c81a8], esi
mov dword [0x6c81c0], ebx
mov dword [0x6c81b8], eax
mov dword [0x6c81cc], ebx
mov dword [0x6c81c4], eax
mov dword [0x6c81bc], edi
mov dword [0x6c81c8], ecx
call fcn.005c12c0
mov edx, dword [0x6c81ac]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c81ac], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c81a0
push dword [esp + 0x1c]
call fcn.005c0f80
mov edx, dword [0x81eb48]
test edx, edx
movzx eax, byte [0x6c8185]
lea ecx, [esp + 0x24]
push edi
cmovle edx, esi
and eax, 1
push edx
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c8184], eax
mov dword [0x6c817c], edi
mov dword [0x6c8188], ebx
mov dword [0x6c8180], esi
mov dword [0x6c8198], ebx
mov dword [0x6c8190], edx
mov dword [0x6c8194], edi
call fcn.005c12c0
mov edx, dword [0x6c8184]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c8184], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c8178
push dword [esp + 0x3c]
call fcn.005c0f80
mov edx, dword [0x81eea8]
test edx, edx
movzx eax, byte [0x6c815d]
lea ecx, [esp + 0x44]
push edi
cmovle edx, esi
and eax, 1
push edx
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c815c], eax
mov dword [0x6c8154], edi
mov dword [0x6c8160], ebx
mov dword [0x6c8158], esi
mov dword [0x6c8170], ebx
mov dword [0x6c8168], edx
mov dword [0x6c816c], edi
call fcn.005c12c0
mov edx, dword [0x6c815c]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c815c], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c8150
push dword [esp + 0x5c]
call fcn.005c0f80
mov edx, dword [0x81eb68]
test edx, edx
movzx eax, byte [0x6c810d]
lea ecx, [esp + 0x64]
push edi
cmovle edx, esi
and eax, 1
push edx
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c810c], eax
mov dword [0x6c8104], edi
mov dword [0x6c8110], ebx
mov dword [0x6c8108], esi
mov dword [0x6c8120], ebx
mov dword [0x6c8118], edx
mov dword [0x6c811c], edi
call fcn.005c12c0
mov edx, dword [0x6c810c]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c810c], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c8100
push dword [esp + 0x7c]
call fcn.005c0f80
add esp, 0x74
mov edx, dword [0x81eea8]
test edx, edx
movzx eax, byte [0x6c8135]
lea ecx, [esp + 0x10]
push edi
cmovle edx, esi
and eax, 1
push edx
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c8134], eax
mov dword [0x6c812c], edi
mov dword [0x6c8138], ebx
mov dword [0x6c8130], esi
mov dword [0x6c8148], ebx
mov dword [0x6c8140], edx
mov dword [0x6c8144], edi
call fcn.005c12c0
mov edx, dword [0x6c8134]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c8134], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c8128
push dword [esp + 0x28]
call fcn.005c0f80
movzx edx, byte [0x6c80e5]
mov eax, 4
and edx, 1
mov ecx, dword [0x81eb68]
test ecx, ecx
mov dword [0x6c80dc], eax
cmovle ecx, esi
shl edx, 8
add edx, 0x85
mov dword [0x6c80e4], edx
lea edx, [esp + 0x30]
push eax
push ecx
push 2
push edx
mov dword [0x6c80e8], ebx
mov dword [0x6c80e0], esi
mov dword [0x6c80f8], ebx
mov dword [0x6c80f0], ecx
mov dword [0x6c80f4], eax
call fcn.005c12c0
mov edx, dword [0x6c80e4]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c80e4], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c80d8
push dword [esp + 0x48]
call fcn.005c0f80
movzx eax, byte [0x6c80bd]
mov edx, 4
and eax, 1
mov ecx, dword [0x81eeb0]
test ecx, ecx
mov dword [0x6c80b4], edx
cmovle ecx, esi
shl eax, 8
add eax, 0x85
mov dword [0x6c80bc], eax
lea eax, [esp + 0x50]
push edx
push ecx
push 2
push eax
mov dword [0x6c80c0], ebx
mov dword [0x6c80b8], esi
mov dword [0x6c80d0], ebx
mov dword [0x6c80c8], ecx
mov dword [0x6c80cc], edx
call fcn.005c12c0
mov edx, dword [0x6c80bc]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c80bc], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c80b0
push dword [esp + 0x68]
call fcn.005c0f80
movzx eax, byte [0x6c8095]
mov edx, 4
and eax, 1
mov ecx, dword [0x81eb68]
test ecx, ecx
mov dword [0x6c808c], edx
cmovle ecx, esi
shl eax, 8
add eax, 0x85
mov dword [0x6c8094], eax
lea eax, [esp + 0x70]
push edx
push ecx
push 2
push eax
mov dword [0x6c8098], ebx
mov dword [0x6c8090], esi
mov dword [0x6c80a8], ebx
mov dword [0x6c80a0], ecx
mov dword [0x6c80a4], edx
call fcn.005c12c0
mov edx, dword [0x6c8094]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c8094], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c8088
push dword [esp + 0x88]
call fcn.005c0f80
add esp, 0x70
mov ecx, dword [0x6c80a0]
test ecx, ecx
jle 0x52ad52
mov eax, dword [0x6c8088]
mov dword [esp + 0x20], eax
cmp ecx, 0x18
jle 0x52b2c7
shl ecx, 2
push ecx
push 0
push dword [esp + 0x28]
call fcn.0062a5e0
add esp, 0xc
mov edx, dword [0x81eb08]
test edx, edx
movzx eax, byte [0x6c82c5]
lea ecx, [esp + 0x20]
push edi
cmovle edx, esi
and eax, 1
push edx
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c82c4], eax
mov dword [0x6c82bc], edi
mov dword [0x6c82c8], ebx
mov dword [0x6c82c0], esi
mov dword [0x6c82d8], ebx
mov dword [0x6c82d0], edx
mov dword [0x6c82d4], edi
call fcn.005c12c0
mov edx, dword [0x6c82c4]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c82c4], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c82b8
push dword [esp + 0x38]
call fcn.005c0f80
mov edx, dword [0x81eb08]
test edx, edx
movzx eax, byte [0x6c829d]
lea ecx, [esp + 0x40]
push edi
cmovle edx, esi
and eax, 1
push edx
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c829c], eax
mov dword [0x6c8294], edi
mov dword [0x6c82a0], ebx
mov dword [0x6c8298], esi
mov dword [0x6c82b0], ebx
mov dword [0x6c82a8], edx
mov dword [0x6c82ac], edi
call fcn.005c12c0
mov edx, dword [0x6c829c]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c829c], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c8290
push dword [esp + 0x58]
call fcn.005c0f80
movzx edx, byte [0x6c826d]
and edx, 1
mov eax, dword [0x81eb08]
test eax, eax
mov dword [0x6c8264], edi
cmovle eax, esi
shl edx, 8
add edx, 0x85
mov dword [0x6c826c], edx
lea edx, [esp + 0x60]
push edi
push eax
push eax
push 3
push edx
mov dword [0x6c8270], 2
lea ecx, [eax*8]
mov dword [0x6c8268], esi
mov dword [0x6c8280], ebx
mov dword [0x6c8278], eax
mov dword [0x6c828c], ebx
mov dword [0x6c8284], eax
mov dword [0x6c827c], edi
mov dword [0x6c8288], ecx
call fcn.005c12c0
mov edx, dword [0x6c826c]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c826c], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c8260
push dword [esp + 0x7c]
call fcn.005c0f80
movzx edx, byte [0x6c823d]
and edx, 1
mov eax, dword [0x81eb08]
test eax, eax
mov dword [0x6c8234], edi
cmovle eax, esi
shl edx, 8
add edx, 0x85
mov dword [0x6c823c], edx
lea edx, [esp + 0x84]
push edi
push eax
push eax
push 3
push edx
mov dword [0x6c8240], 2
lea ecx, [eax*8]
mov dword [0x6c8238], esi
mov dword [0x6c8250], ebx
mov dword [0x6c8248], eax
mov dword [0x6c825c], ebx
mov dword [0x6c8254], eax
mov dword [0x6c824c], edi
mov dword [0x6c8258], ecx
call fcn.005c12c0
mov edx, dword [0x6c823c]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c823c], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c8230
push dword [esp + 0xa0]
call fcn.005c0f80
add esp, 0x78
movzx edx, byte [0x6c820d]
and edx, 1
mov eax, dword [0x81eb08]
test eax, eax
mov dword [0x6c8204], edi
cmovle eax, esi
shl edx, 8
add edx, 0x85
mov dword [0x6c820c], edx
lea edx, [esp + 0x30]
push edi
push eax
push eax
push 3
push edx
mov dword [0x6c8210], 2
lea ecx, [eax*8]
mov dword [0x6c8208], esi
mov dword [0x6c8220], ebx
mov dword [0x6c8218], eax
mov dword [0x6c822c], ebx
mov dword [0x6c8224], eax
mov dword [0x6c821c], edi
mov dword [0x6c8228], ecx
call fcn.005c12c0
mov edx, dword [0x6c820c]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c820c], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c8200
push dword [esp + 0x4c]
call fcn.005c0f80
movzx edx, byte [0x6c81dd]
and edx, 1
mov eax, dword [0x81eb08]
test eax, eax
mov dword [0x6c81d4], edi
cmovle eax, esi
shl edx, 8
add edx, 0x85
mov dword [0x6c81dc], edx
lea edx, [esp + 0x54]
push edi
push eax
push eax
push 3
push edx
mov dword [0x6c81e0], 2
lea ecx, [eax*8]
mov dword [0x6c81d8], esi
mov dword [0x6c81f0], ebx
mov dword [0x6c81e8], eax
mov dword [0x6c81fc], ebx
mov dword [0x6c81f4], eax
mov dword [0x6c81ec], edi
mov dword [0x6c81f8], ecx
call fcn.005c12c0
mov edx, dword [0x6c81dc]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c81dc], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c81d0
push dword [esp + 0x70]
call fcn.005c0f80
mov ecx, dword [0x81eea8]
mov edx, 4
test ecx, ecx
lea edi, [esp + 0x78]
push edx
cmovle ecx, esi
movzx eax, byte [0x6c8315]
push ecx
and eax, 1
shl eax, 8
push 2
push edi
add eax, 0x85
mov dword [0x6c8314], eax
mov dword [0x6c830c], edx
mov dword [0x6c8318], ebx
mov dword [0x6c8310], esi
mov dword [0x6c8328], ebx
mov dword [0x6c8320], ecx
mov dword [0x6c8324], edx
call fcn.005c12c0
mov edx, dword [0x6c8314]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c8314], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c8308
push dword [esp + 0x90]
call fcn.005c0f80
mov dword [0x6c82f0], ebx
mov edx, 4
mov dword [0x6c8300], ebx
lea ecx, [esp + 0x98]
mov ebx, dword [0x81eea8]
test ebx, ebx
mov dword [0x6c82e8], esi
push edx
cmovg esi, ebx
movzx eax, byte [0x6c82ed]
push esi
and eax, 1
shl eax, 8
push 2
push ecx
add eax, 0x85
mov dword [0x6c82ec], eax
mov dword [0x6c82e4], edx
mov dword [0x6c82f8], esi
mov dword [0x6c82fc], edx
call fcn.005c12c0
mov edx, dword [0x6c82ec]
and eax, 1
and edx, 0xfffffff
add edx, 0x40000000
mov ecx, edx
mov dword [0x6c82ec], edx
and ecx, 1
shr edx, 8
add ecx, ecx
shl eax, 4
and edx, 1
shl edx, 0x15
or ecx, eax
or ecx, edx
add ecx, 0x40000
push ecx
push 0x6c82e0
push dword [esp + 0xb0]
call fcn.005c0f80
add esp, 0xbc
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp ecx, 4
jl 0x52b309
mov edx, ecx
mov eax, esi
mov edi, dword [esp + 0x20]
and edx, 0xfffffffc
pxor xmm0, xmm0
movdqu xmmword [edi + eax*4], xmm0
add eax, 4
cmp eax, edx
jb 0x52b2db
mov edi, 8
cmp edx, ecx
jae 0x52ad52
mov eax, dword [esp + 0x20]
mov dword [eax + edx*4], 0
inc edx
cmp edx, ecx
jb 0x52b2f8
jmp 0x52ad52
mov edx, esi
jmp 0x52b2ec