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

Disassembly:
movzx ebx, byte [esi]
and eax, edx
sub edi, 0x1e
mov esi, 1
mov eax, ebp
and esi, 4
xor edi, 0xa9
add eax, 0xa6
or esi, edi
sub dword [edx], 0x2778dcef
mov edi, 0x400
or edi, 0x33
sub edi, 0x92
mov edi, eax
or esi, 0x71
add esi, edx
mov ecx, ebp
or edi, esi
sub edi, 0xee
add edi, 0xd3
add ecx, 0x3c
sub edi, 0x4e
and edi, 0
sub edi, 0xae
xor esi, 0x94
and edi, 0x400
mov eax, ebp
sub esi, eax
xor esi, 0x9e
sub esi, esi
add edi, 0
add esi, ecx
add eax, 0xa6
sub esi, eax
or edi, ecx
and esi, 0x7b
and esi, 0x5d
xor dword [eax], ebx
xor esi, 0x28
or edi, 0x64
mov eax, ebp
sub edi, eax
and edi, 0xa9
or esi, 0xf9
add eax, 0x3c
xor edi, 0x800
sub dword [eax], 0x697f3f05
mov eax, ebp
and edi, ecx
xor edi, 0x4e
add eax, 0x53
sub ebx, dword [eax]
and edi, edx
or esi, ecx
mov esi, 0x400
mov edi, 0xa
mov eax, ebp
or esi, edi
add eax, 0x53
and edi, edx
add esi, 0x800
or dword [eax], 0x2139d903
and edi, 0xf9
and esi, 0x42
mov cl, bl
or edi, edx
or esi, 0x64
sub esi, 0x9e
and bl, 0xf0
or edi, ecx
add esi, edx
shr bl, 4
xor edi, 0xa9
and esi, edi
and cl, 0xf
mov edi, 0
sub edi, 0x92
xchg edx, eax
add byte [eax], al
add byte [eax - 0x30f6950f], al
sub bl, 0xcc
mov eax, ebp
xor edi, edx
or esi, 0xf
xor esi, 0x1e
add eax, 0x52
mov edi, 0
mov byte [eax], bl
or esi, edi
mov edx, ebp
add esi, ebx
xor edi, 0x33
xor esi, 5
add edx, 0x40
sub esi, 0x80
xor edi, 1
mov byte [edx], cl
sub edi, 0xee
add esi, 0x4e
add edi, ebx
mov eax, ebp
xor edi, 0x1e
add eax, 0x10
mov edi, 0xa
and edx, 0xae
and edi, 5
and edi, 0x1e
and ebx, 0xf0
mov eax, dword [eax]
sub edx, ebx
add eax, 0xd
and ebx, 0x94
and ebx, 6
mov ecx, dword [eax]
add edi, 0xc1
add edx, 2
or edi, 0x92
mov edi, ebp
add edi, 0xa6
mov eax, 0x200
or edx, 0x57
xor ecx, dword [edi]
mov edi, 1
mov edx, ebp
or eax, 0xc1
add edx, 0x18
add ecx, dword [edx]
mov edx, ebp
or edi, 0x78
xor ebx, 0x71
xor ebx, eax
add edx, 0xa6
or dword [edx], ecx
sub esi, 0x7fffffff
add eax, 2
mov edx, ebp
and esi, 0x800
sub ebx, 0x42
add edx, 0x3c
or edi, 0xc3
and esi, 0xa9
or edi, 0x7b
and edi, edx
or eax, 0x7b
mov edx, ebp
sub ebx, 6
mov ebx, 0
add edi, 0xf6
add edx, 0x53
and ebx, 0x78
add ecx, dword [edx]
or eax, 4
xor ebx, 0x7f
xor ebx, edi
mov edx, ebp
xor esi, ecx
sub edi, edx
add edx, 0x53
add esi, 0xf
or esi, 0xc3
mov esi, 0
sub ebx, 0x40
xor ecx, 0x37364b0c
xor eax, 0x33
mov edx, ebp
or ebx, eax
sub ebx, 0x78
add esi, 0xf6
add edx, 0xb8
xor esi, 0x42
add ebx, 0xc1
or edi, 0x40
mov edi, ebp
add edi, 0x26
add ecx, dword [edi]
add eax, 0x40
sub eax, 0x33
or esi, 0xd0
mov edi, ebp
or ebx, 0x7fffffff
add edi, 0x63
and eax, 1
mov dword [edi], ecx
xor esi, 0x78
sub edi, 1
and edi, 0x7b
or esi, 0x1f
mov ecx, ebp
sub edx, 2
add ecx, 0x52
and edi, 5
xor edx, 0x64
and esi, 0x28
mov bl, byte [ecx]
xor edi, 0x80
and esi, ecx
xor edi, 0xfd
add bl, 0xcc
cmp bl, 1
jne 0x51fa6a
mov ecx, ebp
mov edi, 1
add ecx, 0x41
mov eax, dword [ecx]
and edx, 0x71
add edx, 0xf0
add edi, 0xfd
sub esi, esi
sub edi, 0x1c
sub edx, 6
mov ecx, ebp
or edi, edi
add ecx, 0x9e
xor edi, edx
or edx, 0xa9
or edi, eax
and edi, 0x5d
add esi, 0xf6
xor eax, dword [ecx]
sub edi, esi
sub esi, 0x7fffffff
xor edi, 0x400
mov ecx, ebp
add ecx, 0x26
or edi, eax
mov edi, 0xa
and esi, 0xf6
or edx, 0xd0
and esi, eax
xor eax, dword [ecx]
and eax, 0xffff
xor edi, 0x1e
sub esi, esi
or edi, 0xf0
or edi, 4
add eax, ebp
and edi, 0x64
sub edx, ecx
add edx, 0xd0
sub edi, 0xae
mov eax, dword [eax]
xor esi, 0xffff
xor edx, 0xc3
sub esi, 5
mov ecx, ebp
add ecx, 0x26
or edi, esi
xor eax, dword [ecx]
xor esi, 0xc3
sub edx, 0x73
xor edx, esi
add edx, 4
mov ecx, ebp
sub edi, 0xd0
add ecx, 0x9e
or esi, 0x7f
jg 0x51fa20
add byte [eax], al
or edi, ebx
xor esi, 0x60
and edi, 0x92
xor eax, dword [ecx]
xor edi, 0x78
add edi, edi
mov ecx, ebp
add edi, 0x92
add esi, 0x60
or esi, edi
add ecx, 0x41
and edi, 0x92
and edx, 0xf
add edi, 0xae
mov dword [ecx], eax
sub esi, 0xd3
sub edi, edi
add esi, edi
mov edx, ebp
xor edi, 0x7fffffff
add edi, edi
xor esi, 5
add edx, 0x25
sub esi, 0xf9
and esi, ebx
mov cl, byte [edx]
and edi, 0x1c
mov edi, ecx
xor esi, ebx
xor cl, 0x3e
cmp cl, 2
jne 0x51fc6e
mov edi, 0
sub edi, 0x40
mov edx, ebp
add edx, 0x63
and esi, 0x73
sub esi, ecx
mov ebx, dword [edx]
mov edx, ebp
and esi, 0xd0
add edi, 0xf9
and esi, 2
add edx, 0x26
or esi, 0x9e
sub ebx, dword [edx]
xor esi, 0x6a
and esi, 0xffff
and edi, 0x4e
mov edx, ebp
xor edi, 0x5d
add edx, 0xb8
mov esi, ecx
xor edi, 0
sub esi, 0x5d
and edi, edi
xor ebx, 0x37364b0c
and ebx, 0xffff
add edi, 0x33
sub esi, 2
add ebx, ebp
sub esi, esi
xor esi, esi
xor esi, 0xfd
mov edx, ebp
sub edi, 0x1c
add edx, 0xb6
add edi, 0xf6
or esi, 0x800
add esi, 0xc1
mov al, byte [edx]
sub esi, ebx
xor al, 0x1e
and esi, 0x42
mov edi, 0xa
mov ebx, dword [ebx]
sub esi, 0x1f
sub esi, 0x5d
mov ecx, ebx
xor esi, ebx
or esi, edx
sub ecx, 0x1e863162
add esi, 0xc3
mov edi, 0xa
or edi, 0
mov edx, ebp
and esi, 0x94
add edx, 0xb8
or esi, ebx
xor esi, 0xf
mov edi, 0xa
and edi, esi
mov esi, 0x200
mov dword [edx], ecx
cmp al, 1
jne 0x51fbc3
add edi, ebx
mov bl, byte [ebx]
cmp al, 2
jne 0x51fbe6
xor edi, edi
or esi, 0x71
mov bx, word [ebx]
or edi, edi
add esi, 0x5d
or esi, ebx
and esi, 0x57
cmp al, 3
jne 0x51fbf4
mov ebx, dword [ebx]
and edi, esi
add esi, edx
add edi, 0x9e
xor edi, 0x78
mov edi, 0x400
and edi, 0x71
sub esi, 0xc3
xor edi, eax
sub esi, 0xf
xor ebx, 0x37364b0c
and edi, 0xd3
mov edx, ebp
xor esi, eax
add edx, 0xb8
mov edx, ebp
xor edi, edi
or edi, edx
xor esi, 0x1f
add edx, 0x26
sub esi, 0xc1
add ebx, dword [edx]
mov edx, ebp
or edi, ecx
xor edi, 0x800
or esi, 0xf
add edx, 0x63
mov dword [edx], ebx
or edi, 0x1c
mov edi, 0
or edi, ecx
or edi, esi
add ecx, eax
and ebx, 4
xor edx, 0xee
xor edx, 0x57
sub edx, 0x7b
xor edi, edi
and esi, edi
xor edx, 0x7b
or ebx, 0x92
xor edx, 0x7f
sub ebx, edi
sub edi, ebx
xor esi, esi
sub edi, 0x92
and esi, 0xa9
and ebx, 0xfd
add edx, 0x1e
sub edx, 0x7fffffff
and edi, 0xf0
sub esi, 0xc1
sub esi, eax
or ebx, esi
and edi, 0x7fffffff
and esi, ecx
sub esi, edi
or ebx, 0x33
sub edx, 0x6a
and ebx, 0x73
or ebx, 0x80
or edx, 4
mov edx, 0xa
and edx, 0x64
add esi, ebx
sub edx, 0x800
and ebx, edi
xor edi, 4
and ebx, eax
and edx, edi
and ebx, 0xc3
add edx, 0x33
xor esi, ecx
or esi, edx
add edi, 0xf6
add ebx, 0xae
and edx, 0x4e
add edx, 0xd0
xor ebx, esi
xor ebx, 5
add esi, 4
sub edx, eax
or edx, edx
sub esi, ebx
or ebx, 0x6a
or ebx, 0x80
or edx, 5
or ebx, 0x1c
and edx, 0xfd
mov eax, ebp
add eax, 0xa6
mov ebx, ebp
xor dword [eax], 0x669c1d0b
add ebx, 0x52
mov bl, byte [ebx]
add bl, 0xcc
cmp bl, 2
jne 0x51fe09
mov ecx, ebp
add ecx, 0x41
mov ebx, dword [ecx]
mov ecx, ebp
add ecx, 0x9e
xor ebx, dword [ecx]
mov ecx, ebp
add ecx, 0x26
xor ebx, dword [ecx]
and ebx, 0xffff
mov ecx, ebp
add ecx, 0x40
mov al, byte [ecx]
xor al, 0x6a
add ebx, ebp
mov ebx, dword [ebx]
cmp al, 1
jne 0x51fdd6
mov bl, byte [ebx]
cmp al, 2
jne 0x51fde1
mov bx, word [ebx]
cmp al, 3
jne 0x51fdeb
mov ebx, dword [ebx]
mov ecx, ebp
add ecx, 0x26
xor ebx, dword [ecx]
mov ecx, ebp
add ecx, 0x9e
xor ebx, dword [ecx]
mov ecx, ebp
add ecx, 0x41
mov dword [ecx], ebx
add esi, edi
and edx, ebx
sub edi, 0x4e
mov eax, ebp
add eax, 0x8d
mov byte [eax], 0
add edi, 0x80
or edx, 0x1e
and edi, 0xf
mov ecx, ebp
or edi, 0xfd
xor edi, 0xf6
and edx, edi
and edx, eax
add ecx, 0x25
or edi, 0x7fffffff
xor edx, 0x42
add esi, 0xf
add edx, 0x800
mov al, byte [ecx]
xor al, 0x3e
cmp al, 1
jne 0x52000b
and esi, 0x6a
sub edx, 0xffff
mov ecx, ebp
add edx, 1
add ecx, 0x63
mov edi, 0x400
and edi, 0x73
mov ebx, dword [ecx]
mov ecx, ebp
xor edi, ebx
xor edx, 0x800
sub edi, 0xffff
add ecx, 0x26
add edx, edi
and edx, 0x80
sub ebx, dword [ecx]
and edx, 0xae
mov ecx, ebp
and esi, edi
add ecx, 0xb8
or edx, 2
mov edi, 0x200
and esi, 5
add edi, ecx
or esi, 0xc3
add esi, 0x7f
add edi, 0xfd
xor ebx, 0x37364b0c
or esi, edx
mov edi, 0x400
sub edi, 0x92
and ebx, 0xffff
xor esi, 0xf
mov edx, 1
mov esi, 0x400
add ebx, ebp
mov eax, ebx
sub ebx, 0x1e863162
sub esi, eax
add esi, 0x4a
mov ecx, ebp
add esi, esi
and edi, 0x4e
add ecx, 0xb8
sub edx, esi
mov dword [ecx], ebx
mov ebx, dword [eax]
xor ebx, 0x37364b0c
or edx, 0x80
xor edi, 0x94
xor edx, edi
mov ecx, ebp
and edx, 0xf
xor edi, 0xee
and edx, 0xfd
add ecx, 0xb8
sub esi, 0x9e
sub edi, 0xf0
add esi, ebx
add esi, 0x7f
mov ecx, ebp
add ecx, 0x26
add esi, eax
add ebx, dword [ecx]
and esi, eax
or edi, 0x1c
mov ecx, ebp
mov edi, 0
sub edx, 0xee
add ecx, 0x63
mov dword [ecx], ebx
mov edi, 0
xor edi, 0x64
mov edi, 0x200
sub edx, 0x60
xor edx, ecx
sub edx, 0x5d
and edx, 0xf9
sub edi, 0xd0
sub esi, 0xd3
or esi, 0x60
sub edx, ecx
xor edi, 0xf6
xor edi, 0x9e
or edi, eax
add edi, 1
xor esi, 0x1e
add esi, 0xf
xor edx, esi
sub edi, 0x7b
mov esi, ebx
xor esi, 0xf9
sub esi, 0x73
sub esi, edi
mov eax, ebp
add esi, 0xffff
and esi, 0x9e
xor esi, 0x28
and esi, 0x92
add eax, 0xb7
xor esi, 2
xor esi, edx
add esi, 0x1c
mov dl, byte [eax]
and esi, 2
and esi, 0xf6
add esi, esi
add esi, 0x1c
xor dl, 0x77
sub esi, 0x28
or esi, 0x9e
and esi, 1
or esi, edx
add esi, ebx
sub dl, 0xd3
cmp dl, 0
jne 0x52021e
mov eax, ebp
and esi, 0xfd
sub esi, 1
xor esi, 0xf6
add eax, 0x63
sub esi, edi
mov edi, dword [eax]
mov eax, ebp
xor esi, 0x7f
xor esi, 0x1c
xor esi, 0x60
add eax, 0x26
and esi, 0x4e
mov esi, 1
sub edi, dword [eax]
or esi, 0xae
sub esi, edx
mov eax, ebp
add esi, 0x5d
and esi, 0xc1
xor esi, eax
add esi, 0xc3
xor esi, 0x4a
add eax, 0xb8
sub esi, 0x7b
xor esi, edi
xor esi, esi
or esi, ebx
xor esi, 0x71
and esi, edx
xor edi, 0x37364b0c
dec ebx
aaa