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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x4e0
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
sub esp, 4
lea edx, [esp + 0x174]
lea esi, [esp + 0x18]
lea edi, [esp + 0x14]
lea ebx, [esp + 0x40]
lea eax, [esp + 0x74]
push 0x36c
push edx
push ecx
push dword [ebp + 0x10]
push esi
push edi
push ebx
push pe_nt_image_headers32
push eax
call fcn.00568750
add esp, 0x28
cmp eax, 0xffffff88
ja 0x553e7a
mov edx, dword [ebp + 0x18]
xor ecx, ecx
cmp dword [esp + 0x3c], 0
setne cl
mov dword [edx], ecx
mov ebx, dword [esp + 0x14]
mov ecx, 0xffffffd4
cmp ebx, 0xc
ja 0x5541d1
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
mov edx, dword [ecx]
add edx, 1
mov ecx, 0xffffffd0
mov dword [esp + 8], esi
cmp esi, edx
ja 0x5541d1
mov dword [esp + 0x1c], eax
mov edi, dword [ebp + 8]
mov dword [edi], ebx
test ebx, ebx
je 0x553ec7
cmp ebx, 1
jne 0x553e81
mov edx, 1
xor eax, eax
test bl, 1
jne 0x553ec3
jmp 0x553ec7
mov ecx, eax
jmp 0x5541d1
mov eax, ebx
and eax, 0xfffffffe
mov dword [esp + 0xc], eax
xor eax, eax
xor edx, edx
nop
mov esi, dword [esp + edx*4 + 0x40]
mov ecx, edx
shl esi, cl
mov edi, dword [esp + edx*4 + 0x44]
add esi, eax
mov dword [esp + edx*4 + 0x40], eax
add cl, 1
shl edi, cl
mov eax, edi
add eax, esi
mov dword [esp + edx*4 + 0x44], esi
add edx, 2
cmp dword [esp + 0xc], edx
jne 0x553e90
add edx, 1
mov edi, dword [ebp + 8]
test bl, 1
je 0x553ec7
mov dword [esp + edx*4 + 0x3c], eax
mov esi, dword [esp + 8]
test esi, esi
je 0x553fbe
mov dword [esp + 0xc], ebx
add bl, 1
mov eax, 0
cmp esi, 8
jb 0x55403c
mov eax, esi
and eax, 0xfffffff8
movzx edx, bl
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
lea edx, [eax - 8]
mov esi, edx
shr esi, 3
add esi, 1
test edx, edx
mov dword [esp + 0x18], esi
je 0x553fe5
and esi, 0xfffffffe
xor edx, edx
pxor xmm1, xmm1
nop dword [eax]
movd xmm2, dword [esp + edx + 0x70]
movd xmm3, dword [esp + edx + 0x74]
movdqa xmm4, xmm0
psubb xmm4, xmm2
movdqa xmm5, xmm0
psubb xmm5, xmm3
pcmpeqb xmm2, xmm1
pandn xmm2, xmm4
pcmpeqb xmm3, xmm1
pandn xmm3, xmm5
punpcklbw xmm2, xmm1
punpcklwd xmm2, xmm1
punpcklbw xmm3, xmm1
punpcklwd xmm3, xmm1
movdqu xmmword [edi + edx*4 + 4], xmm2
movdqu xmmword [edi + edx*4 + 0x14], xmm3
movd xmm2, dword [esp + edx + 0x78]
movd xmm3, dword [esp + edx + 0x7c]
movdqa xmm4, xmm0
psubb xmm4, xmm2
movdqa xmm5, xmm0
psubb xmm5, xmm3
pcmpeqb xmm2, xmm1
pandn xmm2, xmm4
pcmpeqb xmm3, xmm1
pandn xmm3, xmm5
punpcklbw xmm2, xmm1
punpcklwd xmm2, xmm1
punpcklbw xmm3, xmm1
punpcklwd xmm3, xmm1
movdqu xmmword [edi + edx*4 + 0x24], xmm2
movdqu xmmword [edi + edx*4 + 0x34], xmm3
add edx, 0x10
add esi, 0xfffffffe
jne 0x553f20
jmp 0x553fe7
pxor xmm0, xmm0
movdqu xmmword [esp + 0x17c], xmm0
movdqa xmmword [esp + 0x170], xmm0
movdqu xmmword [esp + 0x2c], xmm0
movdqa xmmword [esp + 0x20], xmm0
jmp 0x5540d8
xor edx, edx
test byte [esp + 0x18], 1
je 0x554036
movd xmm1, dword [esp + edx + 0x70]
movd xmm2, dword [esp + edx + 0x74]
movdqa xmm3, xmm0
psubb xmm3, xmm1
psubb xmm0, xmm2
pxor xmm4, xmm4
pcmpeqb xmm1, xmm4
pandn xmm1, xmm3
pcmpeqb xmm2, xmm4
pandn xmm2, xmm0
punpcklbw xmm1, xmm4
punpcklwd xmm1, xmm4
punpcklbw xmm2, xmm4
punpcklwd xmm2, xmm4
movdqu xmmword [edi + edx*4 + 4], xmm1
movdqu xmmword [edi + edx*4 + 0x14], xmm2
mov esi, dword [esp + 8]
jmp 0x55405b
mov dl, byte [esp + eax + 0x70]
mov ch, bl
sub ch, dl
test dl, dl
movzx edx, ch
mov ecx, 0
cmove edx, ecx
movzx edx, dl
mov dword [edi + eax*4 + 4], edx
add eax, 1
cmp esi, eax
jne 0x55403c
pxor xmm0, xmm0
movdqu xmmword [esp + 0x17c], xmm0
movdqa xmmword [esp + 0x170], xmm0
movdqu xmmword [esp + 0x2c], xmm0
movdqa xmmword [esp + 0x20], xmm0
test esi, esi
mov ebx, dword [esp + 0xc]
je 0x5540d8
xor eax, eax
cmp dword [esp + 8], 1
je 0x5540c3
mov ecx, dword [esp + 8]
and ecx, 0xfffffffe
xor eax, eax
nop dword [eax + eax]
movzx edx, byte [edi + eax*4 + 4]
add word [esp + edx*2 + 0x170], 1
movzx edx, byte [edi + eax*4 + 8]
add word [esp + edx*2 + 0x170], 1
add eax, 2
cmp ecx, eax
jne 0x5540a0
test byte [esp + 8], 1
je 0x5540d8
movzx eax, byte [edi + eax*4 + 4]
add word [esp + eax*2 + 0x170], 1
mov word [esp + ebx*2 + 0x22], 0
test ebx, ebx
je 0x554184
lea ecx, [ebx - 1]
mov eax, ebx
and eax, 3
cmp ecx, 3
jae 0x5540f8
xor ecx, ecx
jmp 0x554150
mov edx, ebx
and edx, 0xfffffffc
xor ecx, ecx
nop
mov word [esp + ebx*2 + 0x20], cx
add cx, word [esp + ebx*2 + 0x170]
movzx ecx, cx
shr ecx, 1
mov word [esp + ebx*2 + 0x1e], cx
add cx, word [esp + ebx*2 + 0x16e]
movzx ecx, cx
shr ecx, 1
mov word [esp + ebx*2 + 0x1c], cx
add cx, word [esp + ebx*2 + 0x16c]
movzx ecx, cx
shr ecx, 1
mov word [esp + ebx*2 + 0x1a], cx
add cx, word [esp + ebx*2 + 0x16a]
movzx ecx, cx
shr ecx, 1
add ebx, 0xfffffffc
add edx, 0xfffffffc
jne 0x554100
test eax, eax
je 0x554184
lea edx, [esp + ebx*2]
add edx, 0x170
lea esi, [esp + ebx*2]
add esi, 0x20
neg eax
xor ebx, ebx
nop word [eax + eax]
mov word [esi + ebx*2], cx
add cx, word [edx + ebx*2]
movzx ecx, cx
shr ecx, 1
add ebx, 0xffffffff
cmp eax, ebx
jne 0x554170
cmp dword [esp + 8], 0
je 0x5541c1
xor eax, eax
jmp 0x554199
add eax, 1
cmp dword [esp + 8], eax
je 0x5541c1
mov edx, dword [edi + eax*4 + 4]
movzx ecx, dl
movzx esi, word [esp + ecx*2 + 0x20]
mov ebx, edi
lea edi, [esi + 1]
mov word [esp + ecx*2 + 0x20], di
mov edi, ebx
test ecx, ecx
je 0x554190
neg cl
shl esi, cl
or esi, edx
mov dword [edi + eax*4 + 4], esi
jmp 0x554190
mov ecx, dword [esp + 8]
add ecx, 0xffffffff
mov eax, dword [ebp + 0xc]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1c]
mov eax, ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret