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

Disassembly:
push ebp
mov ebp, esp
pop ebp
push ecx
mov dword [esp], ecx
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
push ebx
push ebp
push esi
mov esi, dword [ecx + 4]
ror esi, 4
mov edx, eax
xor edx, esi
and edx, 0xf0f0f0f
xor eax, edx
xor edx, esi
ror edx, 0xc
mov esi, eax
xor esi, edx
and esi, 0xffff0000
xor eax, esi
xor esi, edx
rol esi, 0xe
mov edx, eax
xor edx, esi
and edx, 0x33333333
xor eax, edx
xor edx, esi
rol edx, 0xa
mov esi, eax
xor esi, edx
and esi, 0xff00ff00
xor eax, esi
xor esi, edx
mov edx, dword [esp + 0x1c]
mov ebp, dword [edx + 0x78]
ror esi, 9
push edi
mov ecx, esi
mov edi, eax
xor edi, ecx
and edi, 0x55555555
mov esi, edi
xor esi, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
xor edi, ecx
rol esi, 1
mov ebx, esi
ror ebx, 4
xor ebx, dword [edx + 0x7c]
xor ebp, esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ebp
mov ecx, ebx
shr ecx, 0x18
mov ecx, dword [eax + ecx*4 + 0x1c00]
shr ebp, 0x18
or ecx, dword [eax + ebp*4 + 0x1800]
mov edx, ebx
shr edx, 0x10
movzx ebp, dl
or ecx, dword [eax + ebp*4 + 0x1400]
mov edx, dword [esp + 0x18]
shr edx, 0x10
movzx ebp, dl
or ecx, dword [eax + ebp*4 + 0x1000]
mov edx, ebx
shr edx, 8
movzx ebp, dl
or ecx, dword [eax + ebp*4 + 0xc00]
mov edx, dword [esp + 0x18]
shr edx, 8
movzx ebp, dl
or ecx, dword [eax + ebp*4 + 0x800]
mov edx, dword [esp + 0x20]
movzx ebx, bl
or ecx, dword [eax + ebx*4 + 0x400]
movzx ebx, byte [esp + 0x18]
or ecx, dword [eax + ebx*4]
rol edi, 2
xor edi, ecx
mov ecx, edi
ror ecx, 4
xor ecx, dword [edx + 0x74]
mov ebp, dword [edx + 0x70]
xor ebp, edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], ebp
shr ebp, 0x18
mov ebx, ecx
shr ebx, 0x18
mov ebx, dword [eax + ebx*4 + 0x1c00]
or ebx, dword [eax + ebp*4 + 0x1800]
mov edx, ecx
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1400]
mov edx, dword [esp + 0x18]
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1000]
mov edx, ecx
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0xc00]
mov edx, dword [esp + 0x18]
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x800]
mov edx, dword [esp + 0x20]
mov ebp, dword [edx + 0x68]
movzx ecx, cl
or ebx, dword [eax + ecx*4 + 0x400]
movzx ecx, byte [esp + 0x18]
or ebx, dword [eax + ecx*4]
mov dword [esp + 0x20], edx
xor esi, ebx
xor ebp, esi
mov dword [esp + 0x18], ebp
mov ecx, esi
ror ecx, 4
xor ecx, dword [edx + 0x6c]
shr ebp, 0x18
mov ebx, ecx
shr ebx, 0x18
mov ebx, dword [eax + ebx*4 + 0x1c00]
or ebx, dword [eax + ebp*4 + 0x1800]
mov edx, ecx
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1400]
mov edx, dword [esp + 0x18]
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1000]
mov edx, ecx
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0xc00]
mov edx, dword [esp + 0x18]
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x800]
mov edx, dword [esp + 0x20]
mov ebp, dword [edx + 0x60]
movzx ecx, cl
or ebx, dword [eax + ecx*4 + 0x400]
movzx ecx, byte [esp + 0x18]
or ebx, dword [eax + ecx*4]
mov dword [esp + 0x20], edx
xor edi, ebx
mov ecx, edi
ror ecx, 4
xor ecx, dword [edx + 0x64]
xor ebp, edi
mov ebx, ecx
shr ebx, 0x18
mov ebx, dword [eax + ebx*4 + 0x1c00]
mov dword [esp + 0x18], ebp
shr ebp, 0x18
or ebx, dword [eax + ebp*4 + 0x1800]
mov edx, ecx
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1400]
mov edx, dword [esp + 0x18]
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1000]
mov edx, ecx
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0xc00]
mov edx, dword [esp + 0x18]
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x800]
mov edx, dword [esp + 0x20]
mov ebp, dword [edx + 0x58]
movzx ecx, cl
or ebx, dword [eax + ecx*4 + 0x400]
movzx ecx, byte [esp + 0x18]
or ebx, dword [eax + ecx*4]
mov dword [esp + 0x20], edx
xor esi, ebx
xor ebp, esi
mov dword [esp + 0x18], ebp
shr ebp, 0x18
mov ecx, esi
ror ecx, 4
xor ecx, dword [edx + 0x5c]
mov ebx, ecx
shr ebx, 0x18
mov ebx, dword [eax + ebx*4 + 0x1c00]
or ebx, dword [eax + ebp*4 + 0x1800]
mov edx, ecx
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1400]
mov edx, dword [esp + 0x18]
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1000]
mov edx, ecx
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0xc00]
mov edx, dword [esp + 0x18]
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x800]
mov edx, dword [esp + 0x20]
mov ebp, dword [edx + 0x50]
movzx ecx, cl
or ebx, dword [eax + ecx*4 + 0x400]
movzx ecx, byte [esp + 0x18]
or ebx, dword [eax + ecx*4]
mov dword [esp + 0x20], edx
xor edi, ebx
mov ecx, edi
ror ecx, 4
xor ecx, dword [edx + 0x54]
xor ebp, edi
mov dword [esp + 0x18], ebp
shr ebp, 0x18
mov ebx, ecx
shr ebx, 0x18
mov ebx, dword [eax + ebx*4 + 0x1c00]
or ebx, dword [eax + ebp*4 + 0x1800]
mov edx, ecx
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1400]
mov edx, dword [esp + 0x18]
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1000]
mov edx, ecx
shr edx, 8
movzx ebp, dl
mov edx, dword [esp + 0x18]
or ebx, dword [eax + ebp*4 + 0xc00]
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x800]
mov edx, dword [esp + 0x20]
mov ebp, dword [edx + 0x48]
movzx ecx, cl
or ebx, dword [eax + ecx*4 + 0x400]
movzx ecx, byte [esp + 0x18]
or ebx, dword [eax + ecx*4]
mov dword [esp + 0x20], edx
xor esi, ebx
xor ebp, esi
mov dword [esp + 0x18], ebp
shr ebp, 0x18
mov ecx, esi
ror ecx, 4
xor ecx, dword [edx + 0x4c]
mov ebx, ecx
shr ebx, 0x18
mov ebx, dword [eax + ebx*4 + 0x1c00]
or ebx, dword [eax + ebp*4 + 0x1800]
mov edx, ecx
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1400]
mov edx, dword [esp + 0x18]
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1000]
mov edx, ecx
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0xc00]
mov edx, dword [esp + 0x18]
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x800]
mov edx, dword [esp + 0x20]
mov ebp, dword [edx + 0x40]
movzx ecx, cl
or ebx, dword [eax + ecx*4 + 0x400]
movzx ecx, byte [esp + 0x18]
or ebx, dword [eax + ecx*4]
mov dword [esp + 0x20], edx
xor edi, ebx
mov ecx, edi
ror ecx, 4
xor ecx, dword [edx + 0x44]
xor ebp, edi
mov dword [esp + 0x18], ebp
mov ebx, ecx
shr ebx, 0x18
mov ebx, dword [eax + ebx*4 + 0x1c00]
shr ebp, 0x18
or ebx, dword [eax + ebp*4 + 0x1800]
mov edx, ecx
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1400]
mov edx, dword [esp + 0x18]
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1000]
mov edx, ecx
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0xc00]
mov edx, dword [esp + 0x18]
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x800]
mov edx, dword [esp + 0x20]
mov ebp, dword [edx + 0x38]
movzx ecx, cl
or ebx, dword [eax + ecx*4 + 0x400]
movzx ecx, byte [esp + 0x18]
or ebx, dword [eax + ecx*4]
xor esi, ebx
mov ecx, esi
ror ecx, 4
xor ecx, dword [edx + 0x3c]
xor ebp, esi
mov dword [esp + 0x18], ebp
mov ebx, ecx
shr ebx, 0x18
mov ebx, dword [eax + ebx*4 + 0x1c00]
mov dword [esp + 0x20], edx
shr ebp, 0x18
or ebx, dword [eax + ebp*4 + 0x1800]
mov edx, ecx
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1400]
mov edx, dword [esp + 0x18]
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1000]
mov edx, ecx
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0xc00]
mov edx, dword [esp + 0x18]
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x800]
mov edx, dword [esp + 0x20]
mov ebp, dword [edx + 0x30]
movzx ecx, cl
or ebx, dword [eax + ecx*4 + 0x400]
movzx ecx, byte [esp + 0x18]
or ebx, dword [eax + ecx*4]
mov dword [esp + 0x20], edx
xor edi, ebx
xor ebp, edi
mov dword [esp + 0x18], ebp
mov ecx, edi
ror ecx, 4
xor ecx, dword [edx + 0x34]
shr ebp, 0x18
mov ebx, ecx
shr ebx, 0x18
mov ebx, dword [eax + ebx*4 + 0x1c00]
or ebx, dword [eax + ebp*4 + 0x1800]
mov edx, ecx
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1400]
mov edx, dword [esp + 0x18]
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1000]
mov edx, ecx
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0xc00]
mov edx, dword [esp + 0x18]
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x800]
mov edx, dword [esp + 0x20]
mov ebp, dword [edx + 0x28]
movzx ecx, cl
or ebx, dword [eax + ecx*4 + 0x400]
movzx ecx, byte [esp + 0x18]
or ebx, dword [eax + ecx*4]
mov dword [esp + 0x20], edx
xor esi, ebx
mov ecx, esi
ror ecx, 4
xor ecx, dword [edx + 0x2c]
xor ebp, esi
mov dword [esp + 0x18], ebp
mov ebx, ecx
shr ebx, 0x18
mov ebx, dword [eax + ebx*4 + 0x1c00]
shr ebp, 0x18
or ebx, dword [eax + ebp*4 + 0x1800]
mov edx, ecx
shr edx, 0x10
movzx ebp, dl
mov edx, dword [esp + 0x18]
or ebx, dword [eax + ebp*4 + 0x1400]
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1000]
mov edx, ecx
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0xc00]
mov edx, dword [esp + 0x18]
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x800]
mov edx, dword [esp + 0x20]
mov ebp, dword [edx + 0x20]
movzx ecx, cl
or ebx, dword [eax + ecx*4 + 0x400]
movzx ecx, byte [esp + 0x18]
or ebx, dword [eax + ecx*4]
mov dword [esp + 0x20], edx
xor edi, ebx
xor ebp, edi
mov dword [esp + 0x18], ebp
shr ebp, 0x18
mov ecx, edi
ror ecx, 4
xor ecx, dword [edx + 0x24]
mov ebx, ecx
shr ebx, 0x18
mov ebx, dword [eax + ebx*4 + 0x1c00]
or ebx, dword [eax + ebp*4 + 0x1800]
mov edx, ecx
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1400]
mov edx, dword [esp + 0x18]
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1000]
mov edx, ecx
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0xc00]
mov edx, dword [esp + 0x18]
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x800]
mov edx, dword [esp + 0x20]
mov ebp, dword [edx + 0x18]
movzx ecx, cl
or ebx, dword [eax + ecx*4 + 0x400]
movzx ecx, byte [esp + 0x18]
or ebx, dword [eax + ecx*4]
mov dword [esp + 0x20], edx
xor esi, ebx
mov ecx, esi
ror ecx, 4
xor ecx, dword [edx + 0x1c]
xor ebp, esi
mov dword [esp + 0x18], ebp
mov ebx, ecx
shr ebx, 0x18
mov ebx, dword [eax + ebx*4 + 0x1c00]
shr ebp, 0x18
or ebx, dword [eax + ebp*4 + 0x1800]
mov edx, ecx
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1400]
mov edx, dword [esp + 0x18]
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1000]
mov edx, ecx
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0xc00]
mov edx, dword [esp + 0x18]
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x800]
movzx ecx, cl
or ebx, dword [eax + ecx*4 + 0x400]
movzx ecx, byte [esp + 0x18]
or ebx, dword [eax + ecx*4]
xor edi, ebx
mov edx, dword [esp + 0x20]
mov ebp, dword [edx + 0x10]
mov dword [esp + 0x20], edx
xor ebp, edi
mov dword [esp + 0x18], ebp
shr ebp, 0x18
mov ecx, edi
ror ecx, 4
xor ecx, dword [edx + 0x14]
mov ebx, ecx
shr ebx, 0x18
mov ebx, dword [eax + ebx*4 + 0x1c00]
or ebx, dword [eax + ebp*4 + 0x1800]
mov edx, ecx
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1400]
mov edx, dword [esp + 0x18]
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1000]
mov edx, ecx
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0xc00]
mov edx, dword [esp + 0x18]
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x800]
mov edx, dword [esp + 0x20]
mov ebp, dword [edx + 8]
movzx ecx, cl
or ebx, dword [eax + ecx*4 + 0x400]
movzx ecx, byte [esp + 0x18]
or ebx, dword [eax + ecx*4]
mov dword [esp + 0x20], edx
xor esi, ebx
mov ecx, esi
ror ecx, 4
xor ecx, dword [edx + 0xc]
xor ebp, esi
mov ebx, ecx
shr ebx, 0x18
mov ebx, dword [eax + ebx*4 + 0x1c00]
mov dword [esp + 0x18], ebp
shr ebp, 0x18
or ebx, dword [eax + ebp*4 + 0x1800]
mov edx, ecx
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1400]
mov edx, dword [esp + 0x18]
shr edx, 0x10
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x1000]
mov edx, ecx
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0xc00]
mov edx, dword [esp + 0x18]
shr edx, 8
movzx ebp, dl
or ebx, dword [eax + ebp*4 + 0x800]
mov edx, dword [esp + 0x20]
movzx ecx, cl
or ebx, dword [eax + ecx*4 + 0x400]
movzx ecx, byte [esp + 0x18]
or ebx, dword [eax + ecx*4]
xor edi, ebx
mov ebx, edi
ror ebx, 4
xor ebx, dword [edx + 4]
mov edx, dword [edx]
xor edx, edi
mov ecx, ebx
shr ecx, 0x18
mov ecx, dword [eax + ecx*4 + 0x1c00]
mov dword [esp + 0x18], edx
shr edx, 0x18
ror edi, 1
or ecx, dword [eax + edx*4 + 0x1800]
mov edx, ebx
shr edx, 0x10
movzx edx, dl
or ecx, dword [eax + edx*4 + 0x1400]
mov edx, dword [esp + 0x18]
shr edx, 0x10
movzx edx, dl
or ecx, dword [eax + edx*4 + 0x1000]
mov edx, ebx
shr edx, 8
movzx edx, dl
or ecx, dword [eax + edx*4 + 0xc00]
mov edx, dword [esp + 0x18]
shr edx, 8
movzx edx, dl
or ecx, dword [eax + edx*4 + 0x800]
movzx edx, bl
or ecx, dword [eax + edx*4 + 0x400]
movzx edx, byte [esp + 0x18]
or ecx, dword [eax + edx*4]
mov edx, dword [esp + 0x1c]
xor ecx, esi
ror ecx, 2
mov eax, ecx
xor eax, edi
and eax, 0x55555555
xor edi, eax
xor eax, ecx
rol eax, 9
mov ecx, eax
xor ecx, edi
and ecx, 0xff00ff00
xor edi, ecx
xor ecx, eax
ror ecx, 0xa
mov eax, ecx
xor eax, edi
and eax, 0x33333333
xor edi, eax
xor eax, ecx
ror eax, 0xe
mov ecx, eax
xor ecx, edi
and ecx, 0xffff0000
xor edi, ecx
xor ecx, eax
rol ecx, 0xc
mov eax, ecx
xor eax, edi
and eax, 0xf0f0f0f
mov esi, eax
xor esi, edi
pop edi
mov dword [edx], esi
pop esi
xor eax, ecx
rol eax, 4
pop ebp
mov dword [edx + 4], eax
pop ebx
pop ecx
ret 0xc