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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x170
mov eax, dword [ebp + 0xc]
movdqa xmm1, xmmword [0x5444c0]
movdqu xmm0, xmmword [eax]
movdqa xmm3, xmm1
movdqa xmm6, xmm1
movdqu xmm4, xmmword [eax + 0x10]
pand xmm3, xmm0
psrlw xmm0, 8
pand xmm6, xmm4
movdqu xmm2, xmmword [eax + 0x20]
psrlw xmm4, 8
packuswb xmm0, xmm4
movdqu xmm5, xmmword [eax + 0x30]
movdqa xmm4, xmm1
packuswb xmm3, xmm6
mov eax, dword [ebp + 8]
movdqa xmm6, xmm1
pand xmm4, xmm2
psrlw xmm2, 8
pand xmm6, xmm5
psrlw xmm5, 8
mov eax, dword [eax]
packuswb xmm2, xmm5
movdqa xmm5, xmm1
packuswb xmm4, xmm6
mov dword [esp + 0xf0], eax
movdqa xmm6, xmm1
mov eax, dword [ebp + 8]
pand xmm5, xmm3
psrlw xmm3, 8
pand xmm6, xmm4
psrlw xmm4, 8
packuswb xmm3, xmm4
movdqa xmm4, xmm1
pand xmm1, xmm2
psrlw xmm2, 8
mov eax, dword [eax + 4]
pand xmm4, xmm0
psrlw xmm0, 8
packuswb xmm5, xmm6
packuswb xmm0, xmm2
mov dword [esp + 0xf4], eax
mov eax, dword [ebp + 8]
packuswb xmm4, xmm1
pxor xmm1, xmm1
movdqa xmm2, xmm5
mov eax, dword [eax + 8]
movdqa xmm6, xmm4
punpckhbw xmm5, xmm1
punpcklbw xmm6, xmm1
mov dword [esp + 0xf8], eax
mov eax, dword [ebp + 8]
punpckhbw xmm4, xmm1
movaps xmmword [esp + 0xe0], xmm5
movdqa xmm5, xmm6
mov eax, dword [eax + 0xc]
movaps xmmword [esp + 0xd0], xmm4
movdqa xmm6, xmm0
movdqa xmm4, xmm3
punpckhbw xmm3, xmm1
punpcklbw xmm2, xmm1
punpcklbw xmm4, xmm1
punpcklbw xmm6, xmm1
punpckhbw xmm0, xmm1
pxor xmm1, xmm1
movaps xmmword [esp + 0xc0], xmm3
movdqa xmm3, xmm5
punpckhwd xmm5, xmm1
punpcklwd xmm3, xmm1
pslld xmm5, 0x10
movdqa xmm7, xmm3
movdqa xmm3, xmm2
punpckhwd xmm2, xmm1
pslld xmm7, 0x10
punpcklwd xmm3, xmm1
pslld xmm2, 0x18
por xmm2, xmm5
movdqa xmm5, xmmword [esp + 0xc0]
pslld xmm3, 0x18
por xmm3, xmm7
movdqa xmm7, xmm6
punpckhwd xmm6, xmm1
punpcklwd xmm7, xmm1
por xmm2, xmm6
movdqa xmm6, xmmword [esp + 0xd0]
por xmm3, xmm7
movdqa xmm7, xmm4
punpckhwd xmm4, xmm1
punpcklwd xmm7, xmm1
pslld xmm4, 8
por xmm4, xmm2
movdqa xmm2, xmm6
pslld xmm7, 8
por xmm3, xmm7
movdqa xmm7, xmmword [esp + 0xe0]
punpcklwd xmm2, xmm1
movaps xmmword [esp + 0x140], xmm4
movdqa xmm4, xmm7
pslld xmm2, 0x10
movaps xmmword [esp + 0x130], xmm3
punpcklwd xmm4, xmm1
movdqa xmm3, xmm4
movdqa xmm4, xmm0
punpckhwd xmm0, xmm1
pslld xmm3, 0x18
por xmm2, xmm3
punpcklwd xmm4, xmm1
movdqa xmm3, xmm5
punpcklwd xmm3, xmm1
por xmm2, xmm4
pslld xmm3, 8
por xmm2, xmm3
movdqa xmm3, xmm7
movdqa xmm7, xmm5
movaps xmmword [esp + 0x150], xmm2
movdqa xmm2, xmm6
punpckhwd xmm3, xmm1
punpckhwd xmm2, xmm1
punpckhwd xmm7, xmm1
pslld xmm3, 0x18
pslld xmm2, 0x10
por xmm2, xmm3
movdqa xmm1, xmm7
por xmm0, xmm2
pslld xmm1, 8
por xmm0, xmm1
movaps xmmword [esp + 0x160], xmm0
mov dword [esp + 0xfc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
movdqa xmm0, xmmword [0x5444d0]
mov dword [esp + 0x100], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x104], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x108], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x10c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x10], eax
xor eax, 0x243f6a88
mov dword [esp + 0xac], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x24]
mov dword [esp + 0xc], eax
xor eax, 0x85a308d3
mov dword [esp + 0xa0], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov dword [esp + 8], eax
xor eax, 0x13198a2e
mov dword [esp + 0x94], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
mov dword [esp + 4], eax
xor eax, 0x3707344
mov dword [esp + 0xb0], eax
mov eax, dword [ebp + 8]
movdqu xmm6, xmmword [eax + 0x20]
pxor xmm0, xmm6
movaps xmmword [esp + 0xe0], xmm6
movaps xmmword [esp + 0x110], xmm0
mov edx, dword [eax + 0x3c]
movdqa xmm0, xmmword [0x5444e0]
test edx, edx
movaps xmmword [esp + 0x120], xmm0
jne 0x438e85
mov eax, dword [eax + 0x30]
mov ecx, eax
xor eax, 0x299f31d0
mov dword [esp + 0xd0], eax
mov eax, dword [ebp + 8]
xor ecx, 0xa4093822
mov edi, dword [eax + 0x34]
mov eax, edi
xor edi, 0xec4e6c89
xor eax, 0x82efa98
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], eax
lea esi, [esi]
mov eax, dword [esp + 0xfc]
mov esi, 1
mov edi, 2
mov ebx, 0x5443f0
mov dword [esp + 0x50], 0xbe5466cf
mov dword [esp + 0x54], 0x34e90c6c
mov dword [esp + 0x58], 0x452821e6
mov dword [esp + 0x5c], 0x38d01377
mov edx, 0x85a308d3
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x60], 0xc0ac29b7
mov dword [esp + 0x64], 0xc97c50dd
mov dword [esp + 0x68], 0x3f84d5b5
mov dword [esp + 0x6c], 0xb5470917
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x70], 0x82efa98
mov dword [esp + 0x74], 0xec4e6c89
mov dword [esp + 0x78], 0xa4093822
mov dword [esp + 0x7c], 0x299f31d0
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x80], 0x13198a2e
mov dword [esp + 0x84], 0x3707344
mov dword [esp + 0x88], 0x243f6a88
mov dword [esp + 0x28], 3
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x98], eax
mov dword [esp + 0x34], 4
xor eax, eax
mov dword [esp + 0xe0], edi
mov dword [esp + 0x40], 5
mov edi, esi
mov dword [esp + 0x44], 6
mov dword [esp + 0x48], 7
mov dword [esp + 0x4c], 0xe
mov dword [esp + 0x20], 0xf
mov dword [esp + 0x24], 0xc
mov dword [esp + 0x2c], 0xd
mov dword [esp + 0x30], 8
mov dword [esp + 0x38], 9
mov dword [esp + 0x3c], 0xa
mov dword [esp + 0x1c], 0xb
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x438905
movzx eax, byte [edi + 1]
movzx esi, byte [edi + 3]
mov dword [esp + 0x14], eax
mov edx, dword [eax*4 + 0x5443a0]
movzx eax, byte [edi]
mov dword [esp + 0x28], esi
mov ebx, dword [eax*4 + 0x5443a0]
mov dword [esp + 0x88], ebx
mov ebx, dword [esi*4 + 0x5443a0]
movzx esi, byte [edi + 5]
mov dword [esp + 0x84], ebx
movzx ebx, byte [edi + 2]
mov dword [esp + 0x40], esi
mov dword [esp + 0xe0], ebx
mov ebx, dword [ebx*4 + 0x5443a0]
mov dword [esp + 0x80], ebx
mov ebx, dword [esi*4 + 0x5443a0]
movzx esi, byte [edi + 4]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x34], esi
mov ebx, dword [esi*4 + 0x5443a0]
movzx esi, byte [edi + 7]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x48], esi
mov ebx, dword [esi*4 + 0x5443a0]
movzx esi, byte [edi + 6]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x44], esi
mov ebx, dword [esi*4 + 0x5443a0]
movzx esi, byte [edi + 0xf]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x20], esi
mov ebx, dword [esi*4 + 0x5443a0]
movzx esi, byte [edi + 0xe]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x4c], esi
mov ebx, dword [esi*4 + 0x5443a0]
movzx esi, byte [edi + 0xd]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x2c], esi
mov ebx, dword [esi*4 + 0x5443a0]
movzx esi, byte [edi + 0xc]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x24], esi
mov ebx, dword [esi*4 + 0x5443a0]
movzx esi, byte [edi + 9]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x38], esi
mov ebx, dword [esi*4 + 0x5443a0]
movzx esi, byte [edi + 8]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x30], esi
mov ebx, dword [esi*4 + 0x5443a0]
movzx esi, byte [edi + 0xb]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x1c], esi
mov ebx, dword [esi*4 + 0x5443a0]
movzx esi, byte [edi + 0xa]
mov dword [esp + 0x54], ebx
mov ebx, dword [esi*4 + 0x5443a0]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x50], ebx
mov ebx, edi
mov edi, dword [esp + 0x14]
add ebx, 0x10
mov dword [esp + 0x18], ebx
xor edx, dword [esp + eax*4 + 0x130]
mov esi, dword [esp + 0xb4]
lea eax, [edx + esi]
add eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xac]
xor ecx, eax
rol ecx, 0x10
add edx, ecx
xor esi, edx
mov ebx, edx
mov edx, esi
mov esi, dword [esp + 0x88]
xor esi, dword [esp + edi*4 + 0x130]
ror edx, 0xc
mov edi, dword [esp + 0xa0]
add eax, esi
lea esi, [eax + edx]
mov eax, ebx
mov ebx, dword [esp + 0xa8]
xor ecx, esi
mov dword [esp + 0xb8], esi
mov esi, ecx
mov ecx, dword [esp + 0x84]
ror esi, 8
add eax, esi
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0xa4]
xor edx, eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xe0]
ror edx, 7
mov dword [esp + 0xb4], edx
xor ecx, dword [esp + eax*4 + 0x130]
mov eax, dword [esp + 0xd0]
add ecx, esi
add ebx, ecx
mov ecx, dword [esp + 0x28]
xor eax, ebx
rol eax, 0x10
add edi, eax
xor esi, edi
mov edx, esi
mov esi, dword [esp + 0x80]
xor esi, dword [esp + ecx*4 + 0x130]
ror edx, 0xc
lea ecx, [ebx + esi]
mov ebx, dword [esp + 0x40]
add ecx, edx
xor eax, ecx
mov dword [esp + 0xe0], ecx
mov ecx, eax
mov eax, dword [esp + 0x7c]
ror ecx, 8
add edi, ecx
mov dword [esp + 0xd0], ecx
xor edx, edi
mov dword [esp + 0xa8], edi
mov edi, edx
mov edx, dword [esp + 0x34]
ror edi, 7
mov dword [esp + 0xa4], edi
xor eax, dword [esp + edx*4 + 0x130]
mov edx, dword [esp + 0xc0]
mov esi, eax
mov eax, dword [esp + 0x98]
add esi, eax
add esi, dword [esp + 0x9c]
xor edx, esi
mov ecx, edx
mov edx, dword [esp + 0x94]
mov edi, dword [esp + 0x78]
xor edi, dword [esp + ebx*4 + 0x130]
rol ecx, 0x10
mov ebx, dword [esp + 0x44]
add edx, ecx
xor eax, edx
ror eax, 0xc
add esi, edi
mov edi, dword [esp + 0xb0]
add esi, eax
xor ecx, esi
mov dword [esp + 0x9c], esi
mov esi, ecx
mov ecx, dword [esp + 0xbc]
ror esi, 8
add edx, esi
mov dword [esp + 0xc0], esi
xor eax, edx
mov dword [esp + 0x98], edx
ror eax, 7
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x74]
xor eax, dword [esp + ebx*4 + 0x130]
mov ebx, dword [esp + 0x48]
mov esi, eax
mov eax, dword [esp + 0x8c]
add esi, eax
add esi, dword [esp + 0x90]
xor ecx, esi
rol ecx, 0x10
add edi, ecx
xor eax, edi
mov edx, eax
mov eax, dword [esp + 0x70]
xor eax, dword [esp + ebx*4 + 0x130]
ror edx, 0xc
mov ebx, dword [esp + 0x4c]
add eax, esi
mov esi, edi
mov edi, dword [esp + 0x6c]
add eax, edx
xor edi, dword [esp + ebx*4 + 0x130]
mov ebx, dword [esp + 0x20]
xor ecx, eax
ror ecx, 8
add esi, ecx
mov dword [esp + 0xbc], ecx
xor edx, esi
mov dword [esp + 0xb0], esi
mov esi, dword [esp + 0xc0]
ror edx, 7
add eax, edi
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xb4]
add eax, edx
xor esi, eax
mov ecx, esi
mov esi, dword [esp + 0x68]
xor esi, dword [esp + ebx*4 + 0x130]
rol ecx, 0x10
add edi, ecx
xor edx, edi
ror edx, 0xc
add esi, eax
lea eax, [esi + edx]
xor ecx, eax
mov dword [esp + 0x90], eax
mov eax, ecx
ror eax, 8
add edi, eax
mov dword [esp + 0xc0], eax
xor edx, edi
mov dword [esp + 0xa0], edi
mov edi, edx
ror edi, 7
mov dword [esp + 0xb4], edi
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x64]
mov ecx, dword [esp + 0x9c]
mov esi, dword [esp + 0x94]
mov edx, dword [esp + 0xd0]
xor edi, dword [esp + ebx*4 + 0x130]
mov ebx, dword [esp + 0x2c]
add ecx, edi
mov edi, dword [esp + 0xac]
add ecx, esi
xor edx, ecx
mov eax, edx
mov edx, esi
mov esi, dword [esp + 0x60]
xor esi, dword [esp + ebx*4 + 0x130]
rol eax, 0x10
mov ebx, dword [esp + 0x30]
add edi, eax
xor edx, edi
ror edx, 0xc
add esi, ecx
lea ecx, [esi + edx]
xor eax, ecx
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0xbc]
ror eax, 8
add edi, eax
mov dword [esp + 0xd0], eax
xor edx, edi
mov dword [esp + 0xac], edi
mov edi, dword [esp + 0xa4]
mov eax, edx
mov edx, dword [esp + 0x98]
ror eax, 7
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x5c]
xor eax, dword [esp + ebx*4 + 0x130]
mov ebx, dword [esp + 0x38]
add eax, dword [esp + 0xb8]
add eax, edi
xor ecx, eax
rol ecx, 0x10
lea esi, [edx + ecx]
xor edi, esi
mov edx, edi
mov edi, dword [esp + 0x58]
xor edi, dword [esp + ebx*4 + 0x130]
ror edx, 0xc
mov ebx, dword [esp + 0x3c]
add eax, edi
lea edi, [eax + edx]
xor ecx, edi
mov dword [esp + 0xb8], edi
mov edi, ecx
mov ecx, esi
mov esi, dword [esp + 0xe0]
ror edi, 8
add ecx, edi
mov dword [esp + 0xbc], edi
mov edi, dword [esp + 0x54]
xor edx, ecx
xor edi, dword [esp + ebx*4 + 0x130]
mov dword [esp + 0x94], ecx
ror edx, 7
mov dword [esp + 0xa4], edx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov ebx, dword [esp + 0x1c]
add esi, edi
mov edi, dword [esp + 0xb0]
mov edx, dword [esp + 0x50]
add esi, eax
xor ecx, esi
xor edx, dword [esp + ebx*4 + 0x130]
rol ecx, 0x10
add edi, ecx
xor eax, edi
ror eax, 0xc
add esi, edx
lea edx, [esi + eax]
xor ecx, edx
mov dword [esp + 0xa8], edx
ror ecx, 8
add edi, ecx
xor eax, edi
mov dword [esp + 0xb0], edi
mov edi, dword [esp + 0x18]
ror eax, 7
mov dword [esp + 0x98], eax
mov eax, 0x5444c0
cmp eax, edi
jne 0x4387c5
movd xmm7, dword [esp + 0x90]
mov dword [esp + 0xe0], ecx
movd xmm1, dword [esp + 0x9c]
mov edi, dword [ebp + 8]
movd xmm0, dword [esp + 0xb8]
punpckldq xmm1, xmm7
movd xmm7, dword [esp + 0xa8]
movd xmm5, dword [esp + 0x8c]
punpckldq xmm0, xmm7
movd xmm7, dword [esp + 0xa4]
movd xmm6, dword [esp + 0xa0]
punpcklqdq xmm0, xmm1
movd xmm1, dword [esp + 0x98]
punpckldq xmm1, xmm5
movd xmm5, dword [esp + 0xb0]
movaps xmmword [esp + 0xf0], xmm0
movd eax, xmm0
xor dword [edi], eax
mov eax, dword [esp + 0xf4]
movd xmm0, dword [esp + 0xb4]
xor dword [edi + 4], eax
punpckldq xmm0, xmm7
movd xmm7, dword [esp + 0xbc]
mov eax, dword [esp + 0xf8]
xor dword [edi + 8], eax
mov eax, dword [esp + 0xfc]
punpcklqdq xmm0, xmm1
movd xmm1, dword [esp + 0x94]
punpckldq xmm1, xmm5
movd xmm5, dword [esp + 0xd0]
movd ebx, xmm0
movaps xmmword [esp + 0x100], xmm0
movd xmm0, dword [esp + 0xac]
punpckldq xmm0, xmm6
punpcklqdq xmm0, xmm1
movd xmm1, dword [esp + 0xc0]
punpckldq xmm1, xmm7
movd edx, xmm0
movaps xmmword [esp + 0x110], xmm0
movd xmm0, dword [esp + 0xe0]
punpckldq xmm0, xmm5
punpcklqdq xmm0, xmm1
movaps xmmword [esp + 0x120], xmm0
xor dword [edi + 0xc], eax
xor dword [edi + 0x10], ebx
movd ecx, xmm0
mov eax, dword [esp + 0x104]
xor dword [edi + 0x14], eax
mov eax, dword [esp + 0x108]
xor dword [edi + 0x18], eax
xor dword [edi], edx
mov eax, dword [esp + 0x10c]
xor dword [edi + 0x10], ecx
mov ecx, edi
mov edx, ecx
xor dword [edi + 0x1c], eax
mov eax, dword [esp + 0x114]
xor dword [edi + 4], eax
mov eax, dword [esp + 0x118]
xor dword [edi + 8], eax
mov eax, dword [esp + 0x11c]
xor dword [edi + 0xc], eax
mov eax, dword [esp + 0x124]
xor dword [edi + 0x14], eax
mov eax, dword [esp + 0x128]
xor dword [edi + 0x18], eax
mov eax, dword [esp + 0x12c]
xor dword [edi + 0x1c], eax
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
xor dword [edi + 4], ebx
xor dword [edi], eax
mov edi, dword [esp + 8]
xor dword [ecx + 8], edi
xor dword [edx + 0x10], eax
xor dword [edx + 0x14], ebx
xor dword [edx + 0x18], edi
mov ecx, dword [esp + 4]
xor dword [edx + 0xc], ecx
xor dword [edx + 0x1c], ecx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, 0xa4093822
mov dword [esp + 0xbc], 0xec4e6c89
mov dword [esp + 0xd0], 0x299f31d0
mov dword [esp + 0xc0], 0x82efa98
jmp 0x438640