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

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