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

Disassembly:
sub esp, 8
push ebx
push ebp
push edi
mov edi, ecx
xor ecx, ecx
mov ch, byte [edi + 4]
movzx edx, byte [edi + 6]
mov ebp, dword [eax + 4]
mov cl, byte [edi + 5]
shl ecx, 8
or ecx, edx
movzx edx, byte [edi + 7]
shl ecx, 8
or ecx, edx
mov edx, dword [eax]
add edx, ecx
mov dword [esp + 0x10], ecx
mov ebx, edx
mov ecx, 0x20
sub ecx, ebp
shr ebx, cl
mov ecx, ebp
shl edx, cl
or ebx, edx
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov edx, dword [ecx*4 + 0x4245a0]
mov ebp, ebx
shr ebp, 0x18
xor edx, dword [ebp*4 + 0x4241a0]
movzx ecx, bh
mov ebp, dword [ecx*4 + 0x4249a0]
xor ecx, ecx
mov ch, byte [edi]
mov dword [esp + 0xc], ebx
sub edx, ebp
and ebx, 0xff
mov ebp, dword [ebx*4 + 0x424da0]
movzx ebx, byte [edi + 2]
mov cl, byte [edi + 1]
movzx edi, byte [edi + 3]
add edx, ebp
mov ebp, dword [eax + 0xc]
shl ecx, 8
or ecx, ebx
shl ecx, 8
or ecx, edi
mov edi, dword [eax + 8]
xor edx, ecx
xor edi, edx
mov ebx, edi
mov ecx, 0x20
sub ecx, ebp
shr ebx, cl
mov ecx, ebp
shl edi, cl
or ebx, edi
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov ebp, dword [ecx*4 + 0x4245a0]
movzx edi, bh
mov edi, dword [edi*4 + 0x4249a0]
sub edi, ebp
mov ecx, ebx
shr ecx, 0x18
mov ebp, dword [ecx*4 + 0x4241a0]
mov dword [esp + 0xc], ebx
add edi, ebp
mov ebp, dword [eax + 0x14]
and ebx, 0xff
xor edi, dword [ebx*4 + 0x424da0]
mov ecx, dword [esp + 0x10]
xor ecx, edi
mov edi, dword [eax + 0x10]
mov dword [esp + 0x10], ecx
sub edi, ecx
mov ecx, 0x20
sub ecx, ebp
mov ebx, edi
shr ebx, cl
mov ecx, ebp
shl edi, cl
or ebx, edi
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [ecx*4 + 0x4245a0]
mov edi, ebx
shr edi, 0x18
add ecx, dword [edi*4 + 0x4241a0]
movzx edi, bh
xor ecx, dword [edi*4 + 0x4249a0]
mov ebp, dword [eax + 0x1c]
mov dword [esp + 0xc], ebx
and ebx, 0xff
sub ecx, dword [ebx*4 + 0x424da0]
xor edx, ecx
mov ecx, dword [eax + 0x18]
lea edi, [ecx + edx]
mov ebx, edi
mov ecx, 0x20
sub ecx, ebp
shr ebx, cl
mov ecx, ebp
shl edi, cl
or ebx, edi
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov ebp, dword [ecx*4 + 0x4245a0]
mov edi, ebx
shr edi, 0x18
xor ebp, dword [edi*4 + 0x4241a0]
movzx ecx, bh
sub ebp, dword [ecx*4 + 0x4249a0]
mov edi, dword [eax + 0x20]
mov dword [esp + 0xc], ebx
and ebx, 0xff
add ebp, dword [ebx*4 + 0x424da0]
mov ecx, dword [esp + 0x10]
xor ecx, ebp
mov ebp, dword [eax + 0x24]
xor edi, ecx
mov dword [esp + 0x10], ecx
mov ebx, edi
mov ecx, 0x20
sub ecx, ebp
shr ebx, cl
mov ecx, ebp
shl edi, cl
or ebx, edi
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov ebp, dword [ecx*4 + 0x4245a0]
movzx edi, bh
mov edi, dword [edi*4 + 0x4249a0]
sub edi, ebp
mov ecx, ebx
shr ecx, 0x18
add edi, dword [ecx*4 + 0x4241a0]
mov dword [esp + 0xc], ebx
and ebx, 0xff
xor edi, dword [ebx*4 + 0x424da0]
mov ebp, dword [eax + 0x2c]
xor edx, edi
mov edi, dword [eax + 0x28]
mov ecx, 0x20
sub edi, edx
sub ecx, ebp
mov ebx, edi
shr ebx, cl
mov ecx, ebp
shl edi, cl
or ebx, edi
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov ebp, dword [ecx*4 + 0x4245a0]
mov edi, ebx
shr edi, 0x18
add ebp, dword [edi*4 + 0x4241a0]
movzx ecx, bh
xor ebp, dword [ecx*4 + 0x4249a0]
mov edi, dword [eax + 0x30]
mov dword [esp + 0xc], ebx
and ebx, 0xff
sub ebp, dword [ebx*4 + 0x424da0]
mov ecx, dword [esp + 0x10]
xor ecx, ebp
add edi, ecx
mov ebp, dword [eax + 0x34]
mov dword [esp + 0x10], ecx
mov ebx, edi
mov ecx, 0x20
sub ecx, ebp
shr ebx, cl
mov ecx, ebp
shl edi, cl
or ebx, edi
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [ecx*4 + 0x4245a0]
mov edi, ebx
shr edi, 0x18
xor ecx, dword [edi*4 + 0x4241a0]
movzx edi, bh
mov ebp, dword [edi*4 + 0x4249a0]
mov edi, dword [eax + 0x38]
sub ecx, ebp
mov dword [esp + 0xc], ebx
and ebx, 0xff
add ecx, dword [ebx*4 + 0x424da0]
mov ebp, dword [eax + 0x3c]
xor edx, ecx
xor edi, edx
mov ebx, edi
mov ecx, 0x20
sub ecx, ebp
shr ebx, cl
mov ecx, ebp
shl edi, cl
or ebx, edi
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov ebp, dword [ecx*4 + 0x4245a0]
movzx edi, bh
mov edi, dword [edi*4 + 0x4249a0]
sub edi, ebp
mov ecx, ebx
shr ecx, 0x18
mov ebp, dword [ecx*4 + 0x4241a0]
mov dword [esp + 0xc], ebx
add edi, ebp
mov ebp, dword [eax + 0x44]
and ebx, 0xff
xor edi, dword [ebx*4 + 0x424da0]
mov ecx, dword [esp + 0x10]
xor ecx, edi
mov edi, dword [eax + 0x40]
mov dword [esp + 0x10], ecx
sub edi, ecx
mov ecx, 0x20
sub ecx, ebp
mov ebx, edi
shr ebx, cl
mov ecx, ebp
shl edi, cl
or ebx, edi
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [ecx*4 + 0x4245a0]
mov edi, ebx
shr edi, 0x18
add ecx, dword [edi*4 + 0x4241a0]
movzx edi, bh
xor ecx, dword [edi*4 + 0x4249a0]
mov ebp, dword [eax + 0x4c]
mov dword [esp + 0xc], ebx
and ebx, 0xff
sub ecx, dword [ebx*4 + 0x424da0]
xor edx, ecx
mov ecx, dword [eax + 0x48]
lea edi, [ecx + edx]
mov ebx, edi
mov ecx, 0x20
sub ecx, ebp
shr ebx, cl
mov ecx, ebp
shl edi, cl
or ebx, edi
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov ebp, dword [ecx*4 + 0x4245a0]
mov edi, ebx
shr edi, 0x18
xor ebp, dword [edi*4 + 0x4241a0]
movzx ecx, bh
sub ebp, dword [ecx*4 + 0x4249a0]
mov edi, dword [eax + 0x50]
mov dword [esp + 0xc], ebx
and ebx, 0xff
add ebp, dword [ebx*4 + 0x424da0]
mov ecx, dword [esp + 0x10]
xor ecx, ebp
mov ebp, dword [eax + 0x54]
xor edi, ecx
mov dword [esp + 0x10], ecx
mov ebx, edi
mov ecx, 0x20
sub ecx, ebp
shr ebx, cl
mov ecx, ebp
shl edi, cl
or ebx, edi
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov ebp, dword [ecx*4 + 0x4245a0]
movzx edi, bh
mov edi, dword [edi*4 + 0x4249a0]
sub edi, ebp
mov ecx, ebx
shr ecx, 0x18
add edi, dword [ecx*4 + 0x4241a0]
mov dword [esp + 0xc], ebx
and ebx, 0xff
xor edi, dword [ebx*4 + 0x424da0]
mov ebp, dword [eax + 0x5c]
xor edx, edi
mov edi, dword [eax + 0x58]
mov ecx, 0x20
sub edi, edx
sub ecx, ebp
mov ebx, edi
shr ebx, cl
mov ecx, ebp
shl edi, cl
or ebx, edi
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov ebp, dword [ecx*4 + 0x4245a0]
mov edi, ebx
shr edi, 0x18
add ebp, dword [edi*4 + 0x4241a0]
movzx ecx, bh
xor ebp, dword [ecx*4 + 0x4249a0]
mov edi, dword [eax + 0x60]
mov dword [esp + 0xc], ebx
and ebx, 0xff
sub ebp, dword [ebx*4 + 0x424da0]
mov ecx, dword [esp + 0x10]
xor ecx, ebp
add edi, ecx
mov ebp, dword [eax + 0x64]
mov dword [esp + 0x10], ecx
mov ebx, edi
mov ecx, 0x20
sub ecx, ebp
shr ebx, cl
mov ecx, ebp
shl edi, cl
or ebx, edi
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [ecx*4 + 0x4245a0]
mov edi, ebx
shr edi, 0x18
xor ecx, dword [edi*4 + 0x4241a0]
movzx edi, bh
mov ebp, dword [edi*4 + 0x4249a0]
mov edi, dword [eax + 0x68]
sub ecx, ebp
mov dword [esp + 0xc], ebx
and ebx, 0xff
add ecx, dword [ebx*4 + 0x424da0]
mov ebp, dword [eax + 0x6c]
xor edx, ecx
xor edi, edx
mov ebx, edi
mov ecx, 0x20
sub ecx, ebp
shr ebx, cl
mov ecx, ebp
shl edi, cl
or ebx, edi
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov ebp, dword [ecx*4 + 0x4245a0]
movzx edi, bh
mov edi, dword [edi*4 + 0x4249a0]
sub edi, ebp
mov ecx, ebx
shr ecx, 0x18
mov ebp, dword [ecx*4 + 0x4241a0]
mov dword [esp + 0xc], ebx
add edi, ebp
mov ebp, dword [eax + 0x74]
and ebx, 0xff
xor edi, dword [ebx*4 + 0x424da0]
mov ecx, dword [esp + 0x10]
xor ecx, edi
mov edi, dword [eax + 0x70]
mov dword [esp + 0x10], ecx
sub edi, ecx
mov ecx, 0x20
sub ecx, ebp
mov ebx, edi
shr ebx, cl
mov ecx, ebp
shl edi, cl
or ebx, edi
mov ecx, ebx
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [ecx*4 + 0x4245a0]
mov edi, ebx
shr edi, 0x18
add ecx, dword [edi*4 + 0x4241a0]
movzx edi, bh
xor ecx, dword [edi*4 + 0x4249a0]
mov dword [esp + 0xc], ebx
and ebx, 0xff
mov ebp, dword [ebx*4 + 0x424da0]
mov ebx, dword [eax + 0x7c]
mov eax, dword [eax + 0x78]
sub ecx, ebp
xor edx, ecx
lea edi, [eax + edx]
mov eax, edi
mov ecx, 0x20
sub ecx, ebx
shr eax, cl
mov ecx, ebx
shl edi, cl
or eax, edi
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
mov ecx, dword [ecx*4 + 0x4245a0]
mov edi, eax
shr edi, 0x18
mov ebx, dword [edi*4 + 0x4241a0]
movzx edi, ah
mov ebp, dword [edi*4 + 0x4249a0]
xor ecx, ebx
sub ecx, ebp
mov dword [esp + 0xc], eax
and eax, 0xff
mov edi, dword [eax*4 + 0x424da0]
mov eax, dword [esp + 0x10]
add ecx, edi
xor eax, ecx
mov ecx, eax
shr ecx, 0x18
mov byte [esi], cl
mov ecx, eax
shr ecx, 0x10
mov byte [esi + 1], cl
mov ecx, eax
mov byte [esi + 3], al
shr ecx, 8
mov eax, edx
shr eax, 0x18
mov byte [esi + 2], cl
mov byte [esi + 4], al
mov ecx, edx
pop edi
shr ecx, 0x10
mov eax, edx
shr eax, 8
pop ebp
mov byte [esi + 5], cl
mov byte [esi + 6], al
mov byte [esi + 7], dl
pop ebx
add esp, 8
ret