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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
push ebx
push esi
lea esi, [eax + 1]
movzx edx, byte [esi + 1]
xor eax, eax
mov ah, byte [esi]
shl edx, 0x10
push edi
mov edi, dword [ebp + 0x10]
or ecx, eax
or ecx, edx
inc esi
movzx eax, byte [esi + 1]
xor edx, edx
shl eax, 0x18
or ecx, eax
inc esi
movzx eax, byte [esi + 1]
inc esi
mov dh, byte [esi + 1]
inc esi
or eax, edx
movzx edx, byte [esi + 1]
shl edx, 0x10
or eax, edx
inc esi
movzx edx, byte [esi + 1]
shl edx, 0x18
or eax, edx
inc esi
mov edx, eax
shr edx, 4
xor edx, ecx
and edx, 0xf0f0f0f
xor ecx, edx
shl edx, 4
xor eax, edx
inc esi
mov edx, eax
and edx, 0xffff
mov dword [0x43cacc], esi
mov esi, ecx
shr esi, 0x10
xor edx, esi
xor eax, edx
shl edx, 0x10
mov dword [0x43cac8], ecx
xor ecx, edx
mov edx, eax
shr edx, 2
xor edx, ecx
and edx, 0x33333333
xor ecx, edx
shl edx, 2
xor eax, edx
mov edx, ecx
shr edx, 8
xor edx, eax
and edx, 0xff00ff
xor eax, edx
shl edx, 8
xor ecx, edx
mov edx, eax
shr edx, 1
xor edx, ecx
and edx, 0x55555555
xor ecx, edx
add edx, edx
xor eax, edx
mov esi, eax
add eax, eax
shr esi, 0x1f
or esi, eax
mov eax, ecx
add ecx, ecx
shr eax, 0x1f
or eax, ecx
mov cl, byte [ebp + 0x14]
xor ebx, ebx
test cl, cl
jne 0x40dd5f
mov ecx, dword [edi]
mov edx, dword [edi + 4]
xor edx, eax
xor ecx, eax
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
or ebx, edx
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
xor esi, ebx
xor edx, esi
xor ecx, esi
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
or ebx, edx
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
xor eax, ebx
xor edx, eax
xor ecx, eax
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
xor ebx, ebx
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
or ebx, edx
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x18]
or ebx, edx
mov edx, dword [edi + 0x1c]
xor esi, ebx
xor edx, esi
xor ecx, esi
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x20]
mov edx, dword [edi + 0x24]
xor eax, ebx
xor edx, eax
xor ecx, eax
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
xor ebx, ebx
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
or ebx, edx
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x28]
or ebx, edx
mov edx, dword [edi + 0x2c]
xor esi, ebx
xor edx, esi
xor ecx, esi
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x30]
mov edx, dword [edi + 0x34]
xor eax, ebx
xor edx, eax
xor ecx, eax
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
xor ebx, ebx
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
or ebx, edx
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x38]
or ebx, edx
mov edx, dword [edi + 0x3c]
xor esi, ebx
xor edx, esi
xor ecx, esi
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x44]
xor eax, ebx
xor edx, eax
xor ecx, eax
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
or ebx, edx
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x48]
or ebx, edx
mov edx, dword [edi + 0x4c]
xor esi, ebx
xor edx, esi
xor ecx, esi
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x50]
mov edx, dword [edi + 0x54]
xor eax, ebx
xor edx, eax
xor ecx, eax
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
or ebx, edx
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x58]
or ebx, edx
mov edx, dword [edi + 0x5c]
xor esi, ebx
xor ecx, esi
xor edx, esi
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov dword [0x43cac0], ecx
mov bl, dl
movzx edx, dh
and edx, 0x3f
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x60]
mov edx, dword [edi + 0x64]
xor eax, ebx
xor edx, eax
xor ecx, eax
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
and ecx, 0x3f
or ebx, edx
mov edx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x68]
or ebx, edx
mov edx, dword [edi + 0x6c]
xor esi, ebx
xor ecx, esi
xor edx, esi
mov dword [0x43cac4], ecx
mov ecx, edx
shl ecx, 0x1c
shr edx, 4
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
or ebx, edx
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x70]
mov edx, dword [edi + 0x74]
xor eax, ebx
xor edx, eax
xor ecx, eax
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
and ecx, 0x3f
or ebx, edx
mov edx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x78]
or ebx, edx
mov edx, dword [edi + 0x7c]
jmp 0x40e73c
mov ecx, dword [edi + 0x78]
mov edx, dword [edi + 0x7c]
xor edx, eax
xor ecx, eax
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
or ebx, edx
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x70]
mov edx, dword [edi + 0x74]
xor esi, ebx
xor edx, esi
xor ecx, esi
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
or ebx, edx
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x68]
mov edx, dword [edi + 0x6c]
xor eax, ebx
xor edx, eax
xor ecx, eax
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
xor ebx, ebx
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
or ebx, edx
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x60]
or ebx, edx
mov edx, dword [edi + 0x64]
xor esi, ebx
xor edx, esi
xor ecx, esi
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x58]
mov edx, dword [edi + 0x5c]
xor eax, ebx
xor edx, eax
xor ecx, eax
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
xor ebx, ebx
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
or ebx, edx
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x50]
or ebx, edx
mov edx, dword [edi + 0x54]
xor esi, ebx
xor edx, esi
xor ecx, esi
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x48]
mov edx, dword [edi + 0x4c]
xor eax, ebx
xor edx, eax
xor ecx, eax
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
xor ebx, ebx
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
or ebx, edx
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x40]
or ebx, edx
mov edx, dword [edi + 0x44]
xor esi, ebx
xor edx, esi
xor ecx, esi
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x38]
mov edx, dword [edi + 0x3c]
xor eax, ebx
xor edx, eax
xor ecx, eax
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
or ebx, edx
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x30]
or ebx, edx
mov edx, dword [edi + 0x34]
xor esi, ebx
xor edx, esi
xor ecx, esi
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x28]
mov edx, dword [edi + 0x2c]
xor eax, ebx
xor edx, eax
xor ecx, eax
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
or ebx, edx
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x20]
or ebx, edx
mov edx, dword [edi + 0x24]
xor esi, ebx
xor ecx, esi
xor edx, esi
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov dword [0x43cac0], ecx
mov bl, dl
movzx edx, dh
and edx, 0x3f
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x1c]
xor eax, ebx
xor edx, eax
xor ecx, eax
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
and ecx, 0x3f
or ebx, edx
mov edx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 0x10]
or ebx, edx
mov edx, dword [edi + 0x14]
xor esi, ebx
xor ecx, esi
xor edx, esi
mov dword [0x43cac4], ecx
mov ecx, edx
shl ecx, 0x1c
shr edx, 4
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
or ebx, edx
and ecx, 0x3f
or ebx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
xor eax, ebx
xor edx, eax
xor ecx, eax
mov dword [0x43cac4], ecx
mov ecx, edx
shr edx, 4
shl ecx, 0x1c
add ecx, edx
mov edx, dword [0x43cac4]
shr edx, 0x10
xor ebx, ebx
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, dword [0x43cac4]
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
mov edx, dword [ecx*4 + 0x43b4e0]
mov ecx, dword [0x43cac4]
and ecx, 0x3f
or ebx, edx
mov edx, dword [ecx*4 + 0x43b3e0]
mov ecx, dword [edi]
or ebx, edx
mov edx, dword [edi + 4]
xor esi, ebx
xor edx, esi
mov edi, edx
shr edx, 4
xor ecx, esi
xor ebx, ebx
shl edi, 0x1c
add edi, edx
mov edx, ecx
shr edx, 0x10
mov bl, dl
movzx edx, dh
and edx, 0x3f
mov dword [0x43cac0], edi
mov dword [0x43cac4], ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x43b7e0]
or ebx, dword [edx*4 + 0x43b9e0]
xor edx, edx
mov dl, byte [0x43cac2]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b8e0]
xor edx, edx
mov dl, byte [0x43cac3]
and edx, 0x3f
or ebx, dword [edx*4 + 0x43bae0]
mov edx, edi
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b6e0]
mov edx, ecx
shr edx, 8
and edx, 0x3f
or ebx, dword [edx*4 + 0x43b5e0]
and ecx, 0x3f
and edi, 0x3f
or ebx, dword [edi*4 + 0x43b4e0]
or ebx, dword [ecx*4 + 0x43b3e0]
xor eax, ebx
mov ecx, eax
shr eax, 1
shl ecx, 0x1f
or ecx, eax
mov edx, esi
shl edx, 0x1f
mov eax, ecx
shr eax, 1
shr esi, 1
or edx, esi
xor eax, edx
and eax, 0x55555555
xor edx, eax
add eax, eax
xor ecx, eax
mov eax, edx
shr eax, 8
xor eax, ecx
and eax, 0xff00ff
xor ecx, eax
shl eax, 8
xor edx, eax
mov eax, ecx
shr eax, 2
xor eax, edx
and eax, 0x33333333
xor edx, eax
shl eax, 2
xor ecx, eax
mov eax, ecx
and eax, 0xffff
mov esi, edx
shr esi, 0x10
xor eax, esi
xor ecx, eax
shl eax, 0x10
mov dword [0x43cac8], edx
xor edx, eax
mov eax, ecx
shr eax, 4
xor eax, edx
and eax, 0xf0f0f0f
xor edx, eax
mov dword [0x43cac4], eax
shl eax, 4
xor ecx, eax
mov eax, dword [ebp + 0xc]
mov byte [eax], dl
mov byte [eax + 1], dh
inc eax
inc eax
mov dword [0x43cac8], edx
shr edx, 0x10
mov byte [eax], dl
mov byte [eax + 1], dh
inc eax
mov byte [eax + 1], cl
inc eax
inc eax
mov byte [eax], ch
mov dword [0x43cabc], ecx
mov edx, dword [0x43cabc]
inc eax
shr ecx, 0x10
mov byte [eax], cl
inc eax
shr edx, 0x18
pop edi
mov byte [eax], dl
inc eax
pop esi
mov dword [0x43cab8], eax
pop ebx
pop ebp
ret