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

Disassembly:
mov eax, dword [esp + 8]
push ebx
mov ebx, dword [eax + 4]
push ebp
mov ebp, dword [esp + 0xc]
push esi
mov esi, dword [eax]
push edi
mov edi, dword [ebp + 4]
add esi, edi
mov edx, esi
mov ecx, 0x20
sub ecx, ebx
shr edx, cl
mov ecx, ebx
shl esi, cl
or edx, esi
movzx ecx, dh
mov esi, dword [ecx*4 + 0x4536d8]
mov ebx, edx
and ebx, 0xff
xor esi, dword [ebx*4 + 0x453ad8]
mov ecx, edx
shr ecx, 0x10
movzx ecx, cl
mov ebx, dword [ecx*4 + 0x4542d8]
mov dword [esp + 0x14], edx
shr edx, 0x18
mov ecx, dword [edx*4 + 0x453ed8]
mov edx, dword [eax + 0xc]
add esi, ebx
mov ebx, dword [ebp]
sub esi, ecx
xor esi, ebx
mov ebx, dword [eax + 8]
xor ebx, esi
mov ecx, 0x20
sub ecx, edx
mov edx, ebx
shr edx, cl
mov ecx, dword [eax + 0xc]
shl ebx, cl
or edx, ebx
movzx ecx, dh
mov ecx, dword [ecx*4 + 0x4536d8]
mov ebx, edx
mov dword [esp + 0x14], edx
shr edx, 0x18
and ebx, 0xff
sub ecx, dword [ebx*4 + 0x453ad8]
mov ebx, dword [edx*4 + 0x453ed8]
mov edx, dword [esp + 0x14]
add ecx, ebx
shr edx, 0x10
movzx edx, dl
mov ebx, dword [edx*4 + 0x4542d8]
mov edx, dword [eax + 0x14]
xor ecx, ebx
mov ebx, dword [eax + 0x10]
xor edi, ecx
sub ebx, edi
mov ecx, 0x20
sub ecx, edx
mov edx, ebx
shr edx, cl
mov ecx, dword [eax + 0x14]
shl ebx, cl
or edx, ebx
movzx ecx, dh
mov ecx, dword [ecx*4 + 0x4536d8]
mov ebx, edx
mov dword [esp + 0x14], edx
and ebx, 0xff
add ecx, dword [ebx*4 + 0x453ad8]
shr edx, 0x18
mov ebx, dword [edx*4 + 0x453ed8]
mov edx, dword [esp + 0x14]
xor ecx, ebx
shr edx, 0x10
movzx edx, dl
sub ecx, dword [edx*4 + 0x4542d8]
mov ebx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
xor esi, ecx
add ebx, esi
mov ecx, 0x20
sub ecx, edx
mov edx, ebx
shr edx, cl
mov ecx, dword [eax + 0x1c]
shl ebx, cl
or edx, ebx
movzx ecx, dh
mov ecx, dword [ecx*4 + 0x4536d8]
mov ebx, edx
and ebx, 0xff
xor ecx, dword [ebx*4 + 0x453ad8]
mov ebx, edx
shr ebx, 0x10
movzx ebx, bl
add ecx, dword [ebx*4 + 0x4542d8]
mov dword [esp + 0x14], edx
shr edx, 0x18
sub ecx, dword [edx*4 + 0x453ed8]
mov ebx, dword [eax + 0x20]
mov edx, dword [eax + 0x24]
xor edi, ecx
xor ebx, edi
mov ecx, 0x20
sub ecx, edx
mov edx, ebx
shr edx, cl
mov ecx, dword [eax + 0x24]
shl ebx, cl
or edx, ebx
movzx ecx, dh
mov ecx, dword [ecx*4 + 0x4536d8]
mov ebx, edx
mov dword [esp + 0x14], edx
shr edx, 0x18
and ebx, 0xff
sub ecx, dword [ebx*4 + 0x453ad8]
mov ebx, dword [edx*4 + 0x453ed8]
mov edx, dword [esp + 0x14]
add ecx, ebx
shr edx, 0x10
movzx edx, dl
mov ebx, dword [edx*4 + 0x4542d8]
mov edx, dword [eax + 0x2c]
xor ecx, ebx
mov ebx, dword [eax + 0x28]
xor esi, ecx
sub ebx, esi
mov ecx, 0x20
sub ecx, edx
mov edx, ebx
shr edx, cl
mov ecx, dword [eax + 0x2c]
shl ebx, cl
or edx, ebx
movzx ecx, dh
mov ecx, dword [ecx*4 + 0x4536d8]
mov ebx, edx
mov dword [esp + 0x14], edx
and ebx, 0xff
add ecx, dword [ebx*4 + 0x453ad8]
shr edx, 0x18
mov ebx, dword [edx*4 + 0x453ed8]
mov edx, dword [esp + 0x14]
shr edx, 0x10
xor ecx, ebx
movzx edx, dl
mov ebx, dword [edx*4 + 0x4542d8]
mov edx, dword [eax + 0x34]
sub ecx, ebx
mov ebx, dword [eax + 0x30]
xor edi, ecx
add ebx, edi
mov ecx, 0x20
sub ecx, edx
mov edx, ebx
shr edx, cl
mov ecx, dword [eax + 0x34]
shl ebx, cl
or edx, ebx
movzx ecx, dh
mov ecx, dword [ecx*4 + 0x4536d8]
mov ebx, edx
and ebx, 0xff
xor ecx, dword [ebx*4 + 0x453ad8]
mov ebx, edx
shr ebx, 0x10
mov dword [esp + 0x14], edx
movzx ebx, bl
add ecx, dword [ebx*4 + 0x4542d8]
shr edx, 0x18
sub ecx, dword [edx*4 + 0x453ed8]
mov ebx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
xor esi, ecx
xor ebx, esi
mov ecx, 0x20
sub ecx, edx
mov edx, ebx
shr edx, cl
mov ecx, dword [eax + 0x3c]
shl ebx, cl
or edx, ebx
movzx ecx, dh
mov ecx, dword [ecx*4 + 0x4536d8]
mov ebx, edx
mov dword [esp + 0x14], edx
shr edx, 0x18
and ebx, 0xff
sub ecx, dword [ebx*4 + 0x453ad8]
mov ebx, dword [edx*4 + 0x453ed8]
mov edx, dword [esp + 0x14]
add ecx, ebx
shr edx, 0x10
movzx edx, dl
mov ebx, dword [edx*4 + 0x4542d8]
mov edx, dword [eax + 0x44]
xor ecx, ebx
mov ebx, dword [eax + 0x40]
xor edi, ecx
sub ebx, edi
mov ecx, 0x20
sub ecx, edx
mov edx, ebx
shr edx, cl
mov ecx, dword [eax + 0x44]
shl ebx, cl
or edx, ebx
movzx ecx, dh
mov ecx, dword [ecx*4 + 0x4536d8]
mov ebx, edx
mov dword [esp + 0x14], edx
and ebx, 0xff
add ecx, dword [ebx*4 + 0x453ad8]
shr edx, 0x18
mov ebx, dword [edx*4 + 0x453ed8]
mov edx, dword [esp + 0x14]
shr edx, 0x10
xor ecx, ebx
movzx edx, dl
mov ebx, dword [edx*4 + 0x4542d8]
mov edx, dword [eax + 0x4c]
sub ecx, ebx
mov ebx, dword [eax + 0x48]
xor esi, ecx
add ebx, esi
mov ecx, 0x20
sub ecx, edx
mov edx, ebx
shr edx, cl
mov ecx, dword [eax + 0x4c]
shl ebx, cl
or edx, ebx
mov dword [esp + 0x14], edx
movzx ecx, dh
mov ecx, dword [ecx*4 + 0x4536d8]
mov ebx, edx
and ebx, 0xff
xor ecx, dword [ebx*4 + 0x453ad8]
mov ebx, edx
shr ebx, 0x10
movzx ebx, bl
add ecx, dword [ebx*4 + 0x4542d8]
shr edx, 0x18
sub ecx, dword [edx*4 + 0x453ed8]
mov ebx, dword [eax + 0x50]
mov edx, dword [eax + 0x54]
xor edi, ecx
xor ebx, edi
mov ecx, 0x20
sub ecx, edx
mov edx, ebx
shr edx, cl
mov ecx, dword [eax + 0x54]
shl ebx, cl
or edx, ebx
movzx ecx, dh
mov ecx, dword [ecx*4 + 0x4536d8]
mov ebx, edx
mov dword [esp + 0x14], edx
and ebx, 0xff
sub ecx, dword [ebx*4 + 0x453ad8]
shr edx, 0x18
mov ebx, dword [edx*4 + 0x453ed8]
mov edx, dword [esp + 0x14]
add ecx, ebx
shr edx, 0x10
movzx edx, dl
mov ebx, dword [edx*4 + 0x4542d8]
mov edx, dword [eax + 0x5c]
xor ecx, ebx
mov ebx, dword [eax + 0x58]
xor esi, ecx
sub ebx, esi
mov ecx, 0x20
sub ecx, edx
mov edx, ebx
shr edx, cl
mov ecx, dword [eax + 0x5c]
shl ebx, cl
or edx, ebx
movzx ecx, dh
mov ecx, dword [ecx*4 + 0x4536d8]
mov ebx, edx
and ebx, 0xff
add ecx, dword [ebx*4 + 0x453ad8]
mov dword [esp + 0x14], edx
shr edx, 0x18
mov ebx, dword [edx*4 + 0x453ed8]
mov edx, dword [esp + 0x14]
xor ecx, ebx
shr edx, 0x10
movzx edx, dl
mov ebx, dword [edx*4 + 0x4542d8]
mov edx, dword [eax + 0x64]
sub ecx, ebx
mov ebx, dword [eax + 0x60]
xor edi, ecx
add ebx, edi
mov ecx, 0x20
sub ecx, edx
mov edx, ebx
shr edx, cl
mov ecx, dword [eax + 0x64]
shl ebx, cl
or edx, ebx
movzx ecx, dh
mov ecx, dword [ecx*4 + 0x4536d8]
mov ebx, edx
and ebx, 0xff
xor ecx, dword [ebx*4 + 0x453ad8]
mov ebx, edx
mov dword [esp + 0x14], edx
shr ebx, 0x10
movzx ebx, bl
add ecx, dword [ebx*4 + 0x4542d8]
shr edx, 0x18
sub ecx, dword [edx*4 + 0x453ed8]
mov ebx, dword [eax + 0x68]
mov edx, dword [eax + 0x6c]
xor esi, ecx
xor ebx, esi
mov ecx, 0x20
sub ecx, edx
mov edx, ebx
shr edx, cl
mov ecx, dword [eax + 0x6c]
shl ebx, cl
or edx, ebx
movzx ecx, dh
mov ecx, dword [ecx*4 + 0x4536d8]
mov ebx, edx
mov dword [esp + 0x14], edx
and ebx, 0xff
sub ecx, dword [ebx*4 + 0x453ad8]
shr edx, 0x18
mov ebx, dword [edx*4 + 0x453ed8]
mov edx, dword [esp + 0x14]
add ecx, ebx
shr edx, 0x10
movzx edx, dl
mov ebx, dword [edx*4 + 0x4542d8]
mov edx, dword [eax + 0x74]
xor ecx, ebx
mov ebx, dword [eax + 0x70]
xor edi, ecx
sub ebx, edi
mov ecx, 0x20
sub ecx, edx
mov edx, ebx
shr edx, cl
mov ecx, dword [eax + 0x74]
shl ebx, cl
or edx, ebx
movzx ecx, dh
mov ecx, dword [ecx*4 + 0x4536d8]
mov ebx, edx
and ebx, 0xff
add ecx, dword [ebx*4 + 0x453ad8]
mov dword [esp + 0x14], edx
shr edx, 0x18
mov ebx, dword [edx*4 + 0x453ed8]
mov edx, dword [esp + 0x14]
xor ecx, ebx
shr edx, 0x10
movzx edx, dl
sub ecx, dword [edx*4 + 0x4542d8]
mov ebx, dword [eax + 0x78]
mov eax, dword [eax + 0x7c]
xor esi, ecx
add ebx, esi
mov edx, ebx
mov ecx, 0x20
sub ecx, eax
shr edx, cl
mov ecx, eax
shl ebx, cl
or edx, ebx
movzx eax, dh
mov ecx, dword [eax*4 + 0x4536d8]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x14]
mov eax, edx
shr ebx, 0x10
and eax, 0xff
mov eax, dword [eax*4 + 0x453ad8]
shr edx, 0x18
mov edx, dword [edx*4 + 0x453ed8]
movzx ebx, bl
mov ebx, dword [ebx*4 + 0x4542d8]
xor eax, ecx
mov dword [ebp + 4], esi
sub eax, edx
add eax, ebx
xor eax, edi
pop edi
pop esi
mov dword [ebp], eax
pop ebp
pop ebx
ret