Function at 0x475fe0
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x68
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x63c080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x63d5cc]
mov eax, dword [0x63d5c8]
xor edi, edi
sub edi, 0xe9de0c1
add edi, 0
add edi, 0xbe9aa46f
sub edi, 1
sub edi, 0xbe9aa46f
xor edx, edx
sub edx, 0xe9de0c1
sub edi, edx
xor esi, esi
sub esi, 0x83a58258
mov edx, ecx
add edx, esi
xor esi, esi
sub esi, edi
sub edx, esi
xor esi, esi
sub esi, 0x83a58258
sub edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x22], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x21], al
mov dword [ebp - 0x28], 0x16b3af8a
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], eax
sub eax, 0x80a65f69
je 0x477508
jmp 0x476090
mov eax, dword [ebp - 0x3c]
sub eax, 0x81060014
je 0x4766ad
jmp 0x4760a3
mov eax, dword [ebp - 0x3c]
sub eax, 0x810db3d2
je 0x4774ca
jmp 0x4760b6
mov eax, dword [ebp - 0x3c]
sub eax, 0xb3096ef5
je 0x477514
jmp 0x4760c9
mov eax, dword [ebp - 0x3c]
sub eax, 0xc0f4d478
je 0x4763c1
jmp 0x4760dc
mov eax, dword [ebp - 0x3c]
sub eax, 0xc3ad97c8
je 0x4766b9
jmp 0x4760ef
mov eax, dword [ebp - 0x3c]
sub eax, 0xcdd92c07
je 0x477306
jmp 0x476102
mov eax, dword [ebp - 0x3c]
sub eax, 0xfa783430
je 0x476f2b
jmp 0x476115
mov eax, dword [ebp - 0x3c]
sub eax, 0x16b3af8a
je 0x476140
jmp 0x476128
mov eax, dword [ebp - 0x3c]
sub eax, 0x2b3667d9
je 0x4772fa
jmp 0x47613b
jmp 0x47751b
mov ah, byte [ebp - 0x22]
mov cl, byte [ebp - 0x21]
mov dl, cl
xor dl, 0xff
and dl, 1
mov ch, 1
xor ch, 1
mov al, cl
and al, ch
or dl, al
mov al, ah
xor al, 0xff
mov dh, dl
and dh, al
xor dl, 0xff
mov al, ah
and al, dl
or dh, al
xor dh, 0xff
mov dl, ah
xor dl, 0xff
mov al, 1
xor al, 0
or dh, dl
or al, 0
xor dh, 0xff
and dh, al
mov dl, ah
xor dl, 0xff
and dl, 1
mov ch, 1
xor ch, 1
mov al, ah
and al, ch
or dl, al
mov bl, 1
xor bl, 1
xor dl, 0xff
mov al, 1
xor al, 0
or bl, dl
or al, 0
xor bl, 0xff
and bl, al
mov dl, 1
xor dl, 1
and dl, 1
mov al, 1
xor al, 1
and al, 1
or dl, al
mov ch, dl
xor ch, 0xff
mov al, ah
xor al, ch
and al, ah
mov ch, cl
xor ch, 0xff
and ch, 1
mov bh, 1
xor bh, 1
mov ah, cl
and ah, bh
or ch, ah
mov bh, 1
xor bh, 1
mov ah, ch
xor ah, bh
and ah, ch
mov byte [ebp - 0x43], ah
xor dl, 0xff
mov bh, cl
xor bh, dl
and bh, cl
mov cl, bl
xor cl, 0xff
mov ch, al
xor ch, 0xff
mov ah, 1
xor ah, 0
mov dl, cl
and dl, 0
and bl, ah
mov byte [ebp - 0x45], bl
mov bl, ch
and bl, 0
and al, ah
mov byte [ebp - 0x44], al
mov al, byte [ebp - 0x45]
or dl, al
mov al, byte [ebp - 0x44]
or bl, al
mov al, byte [ebp - 0x43]
xor dl, bl
or cl, ch
xor cl, 0xff
or ah, 0
and cl, ah
or dl, cl
mov cl, al
xor cl, 0xff
mov byte [ebp - 0x42], cl
mov ch, bh
xor ch, 0xff
mov ah, 1
xor ah, 1
and cl, 0xff
and al, ah
mov bl, ch
and bl, 0xff
and bh, ah
or cl, al
mov al, byte [ebp - 0x42]
or bl, bh
xor cl, bl
or al, ch
xor al, 0xff
or ah, 1
and al, ah
or cl, al
mov ch, dl
xor ch, 0xff
and ch, 1
mov ah, 1
xor ah, 1
and dl, ah
mov al, cl
xor al, 0xff
and al, 0xff
and cl, ah
or ch, dl
or al, cl
xor ch, al
mov dl, dh
xor dl, 0xff
and dl, 0
mov cl, 1
xor cl, 0
mov ah, dh
and ah, cl
mov al, 1
xor al, 1
and al, 0
and cl, 1
or dl, ah
or al, cl
xor dl, al
mov ah, ch
xor ah, 0xff
and ah, 1
mov cl, 1
xor cl, 1
mov al, ch
and al, cl
or ah, al
mov bl, 1
xor bl, 1
and bl, 1
mov al, 1
xor al, 1
and al, 1
or bl, al
mov byte [ebp - 0x3f], bl
mov al, dl
xor al, 0xff
mov bh, 1
xor bh, 1
mov cl, 1
xor cl, 1
or al, bh
or cl, 1
xor al, 0xff
and al, cl
xor bl, 0xff
mov cl, dh
xor cl, bl
and cl, dh
mov bl, ah
xor bl, 0xff
mov dh, 1
xor dh, 1
mov bh, 1
xor bh, 0
or bl, dh
mov dh, byte [ebp - 0x3f]
or bh, 0
xor bl, 0xff
and bl, bh
mov byte [ebp - 0x3d], bl
xor dh, 0xff
mov bl, ch
xor bl, dh
and bl, ch
mov dh, al
xor dh, 0xff
mov ch, cl
xor ch, 0xff
mov byte [ebp - 0x3e], ch
mov bh, 1
xor bh, 1
mov ch, dh
and ch, 0xff
and al, bh
mov byte [ebp - 0x41], al
mov al, byte [ebp - 0x3e]
and al, 0xff
mov byte [ebp - 0x40], al
mov al, byte [ebp - 0x41]
and cl, bh
or ch, al
mov al, byte [ebp - 0x40]
or al, cl
mov cl, byte [ebp - 0x3f]
xor ch, al
mov al, byte [ebp - 0x3e]
or dh, al
mov al, byte [ebp - 0x3d]
xor dh, 0xff
or bh, 1
and dh, bh
or ch, dh
mov dh, al
and dh, bl
xor al, bl
or dh, al
mov bl, ch
xor bl, 0xff
mov al, dh
and al, bl
xor dh, 0xff
and ch, dh
or al, ch
mov dh, dl
and dh, ah
xor dl, ah
or dh, dl
mov dl, dh
xor dl, 0xff
and dl, 1
mov ch, 1
xor ch, 1
and dh, ch
mov ah, 1
xor ah, 1
and ah, 0xff
and ch, 1
or dl, dh
or ah, ch
xor dl, ah
mov ah, cl
and ah, 1
xor cl, 1
or ah, cl
xor ah, 0xff
mov cl, dl
xor cl, ah
and cl, dl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x80a65f69
mov ecx, 0xc0f4d478
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x47751b
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
push eax
mov eax, esp
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x63d5cc]
mov eax, dword [0x63d5c8]
mov edi, 0x959176e5
add edi, 0
sub edi, 0x43f09354
sub edi, 0x959176e5
xor esi, esi
sub esi, ecx
xor edx, edx
sub edx, edi
add esi, edx
xor edx, edx
sub edx, esi
mov edi, 0x383e4057
add edi, 0
sub edi, 1
sub edi, 0x383e4057
xor esi, esi
sub esi, edx
xor edx, edx
sub edx, edi
add esi, edx
xor edx, edx
sub edx, esi
xor esi, esi
sub esi, 0xc109f805
sub esi, 0x43f09354
add esi, 0xc109f805
sub edx, 0x5c268f0d
sub edx, esi
add edx, 0x5c268f0d
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete ch
mov byte [ebp - 0x49], ch
cmp eax, 0xa
setl dl
mov al, ch
xor al, 0xff
and al, 1
mov ah, 1
xor ah, 1
and ch, ah
mov cl, 1
xor cl, 1
and cl, 0xff
and ah, 1
or al, ch
or cl, ah
xor al, cl
mov bh, dl
xor bh, 0xff
and bh, 1
mov ah, 1
xor ah, 1
mov ch, dl
and ch, ah
mov cl, 1
xor cl, 1
and cl, 0xff
and ah, 1
or bh, ch
or cl, ah
xor bh, cl
mov cl, 1
xor cl, 1
and cl, 0
mov ch, 1
xor ch, 0
mov dh, ch
and dh, 1
mov ah, 1
xor ah, 1
and ah, 0
and ch, 1
or cl, dh
or ah, ch
xor cl, ah
mov byte [ebp - 0x4c], cl
mov cl, al
xor cl, 0xff
mov ch, bh
xor ch, 0xff
mov ah, 1
xor ah, 1
mov bl, cl
and bl, 0xff
and al, ah
mov dh, ch
and dh, 0xff
and bh, ah
or bl, al
mov al, byte [ebp - 0x4c]
or dh, bh
xor bl, dh
or cl, ch
xor cl, 0xff
or ah, 1
and cl, ah
or bl, cl
mov cl, 1
xor cl, 1
mov dh, al
xor dh, 0xff
mov ah, 1
xor ah, 0
mov ch, cl
and ch, 0
mov bh, ah
and bh, 1
mov byte [ebp - 0x4b], bh
mov bh, dh
and bh, 0
and al, ah
mov byte [ebp - 0x4a], al
mov al, byte [ebp - 0x4b]
or ch, al
mov al, byte [ebp - 0x4a]
or bh, al
mov al, byte [ebp - 0x49]
xor ch, bh
or cl, dh
xor cl, 0xff
or ah, 0
and cl, ah
or ch, cl
mov cl, bl
xor cl, 0xff
and cl, 1
mov dh, 1
xor dh, 1
and bl, dh
mov ah, 1
xor ah, 1
and ah, 0xff
and dh, 1
or cl, bl
or ah, dh
xor cl, ah
xor cl, 0xff
xor ch, 0xff
mov ah, 1
xor ah, 1
or cl, ch
or ah, 1
xor cl, 0xff
and cl, ah
mov byte [ebp - 0x46], cl
mov ah, al
xor ah, 0xff
and ah, 0
mov ch, 1
xor ch, 0
mov dh, al
and dh, ch
mov cl, 1
xor cl, 1
and cl, 0
and ch, 1
or ah, dh
or cl, ch
xor ah, cl
mov bh, 1
xor bh, 1
xor ah, 0xff
mov cl, 1
xor cl, 1
or bh, ah
or cl, 1
xor bh, 0xff
and bh, cl
mov ah, 1
xor ah, 1
and ah, 1
mov cl, 1
xor cl, 1
and cl, 1
or ah, cl
xor al, 0xff
mov ch, ah
xor ch, 0xff
mov cl, 1
xor cl, 0
or al, ch
or cl, 0
xor al, 0xff
and al, cl
mov ch, dl
xor ch, 0xff
and ch, 0
mov dh, 1
xor dh, 0
mov bl, dl
and bl, dh
mov cl, 1
xor cl, 1
and cl, 0
and dh, 1
or ch, bl
or cl, dh
xor ch, cl
mov dh, 1
xor dh, 1
mov cl, ch
xor cl, dh
and cl, ch
xor ah, 0xff
mov ch, dl
xor ch, ah
and ch, dl
mov ah, bh
xor ah, 0xff
mov bl, al
xor bl, 0xff
mov dh, 1
xor dh, 0
mov dl, ah
and dl, 0
and bh, dh
mov byte [ebp - 0x48], bh
mov bh, bl
and bh, 0
and al, dh
mov byte [ebp - 0x47], al
mov al, byte [ebp - 0x48]
or dl, al
mov al, byte [ebp - 0x47]
or bh, al
mov al, byte [ebp - 0x46]
xor dl, bh
or ah, bl
xor ah, 0xff
or dh, 0
and ah, dh
or dl, ah
mov ah, cl
and ah, ch
xor cl, ch
or ah, cl
mov ch, dl
xor ch, 0xff
mov cl, ah
and cl, ch
xor ah, 0xff
and dl, ah
or cl, dl
mov dl, cl
xor dl, 0xff
mov bl, al
xor bl, dl
and bl, al
mov dl, al
xor dl, 0xff
mov dh, cl
and dh, dl
xor cl, 0xff
and al, cl
or dh, al
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x80a65f69
mov ecx, 0x81060014
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x47751b
mov dword [ebp - 0x28], 0xc3ad97c8
jmp 0x47751b
mov ecx, dword [0x63d5cc]
mov eax, dword [0x63d5c8]
xor esi, esi
sub esi, 0xdc8b4efb
add esi, 0
mov edx, ecx
sub edx, 0x70db4ae4
sub edx, esi
add edx, 0x70db4ae4
sub edx, 0x3113234a
sub edx, 0x5e633e14
add edx, 0x3113234a
xor esi, esi
sub esi, 1
add edx, esi
xor esi, esi
sub esi, 0x5e633e14
sub edx, esi
add edx, 0xd9a19e6d
sub edx, 0xc3b4aae8
sub edx, 0xd9a19e6d
xor esi, esi
sub esi, 0xdc8b4efb
add edx, esi
xor esi, esi
sub esi, 0xc3b4aae8
sub edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete ch
cmp eax, 0xa
setl al
mov byte [ebp - 0x61], al
mov cl, ch
xor cl, 0xff
and cl, 0
mov dl, 1
xor dl, 0
mov ah, ch
and ah, dl
mov al, 1
xor al, 1
and al, 0
and dl, 1
or cl, ah
or al, dl
xor cl, al
mov dl, 1
xor dl, 1
xor cl, 0xff
mov al, 1
xor al, 1
or dl, cl
or al, 1
xor dl, 0xff
and dl, al
mov cl, 1
xor cl, 1
and cl, 1
mov al, 1
xor al, 1
and al, 1
or cl, al
mov bh, ch
xor bh, 0xff
xor cl, 0xff
mov al, 1
xor al, 0
or bh, cl
or al, 0
xor bh, 0xff
and bh, al
mov cl, dl
xor cl, 0xff
mov dh, bh
xor dh, 0xff
mov ah, 1
xor ah, 1
mov al, cl
and al, 0xff
and dl, ah
mov bl, dh
and bl, 0xff
and bh, ah
or al, dl
mov dl, byte [ebp - 0x61]
or bl, bh
xor al, bl
or cl, dh
xor cl, 0xff
or ah, 1
and cl, ah
or al, cl
mov byte [ebp - 0x4f], al
mov cl, dl
xor cl, 0xff
and cl, 0
mov ah, 1
xor ah, 0
mov dh, dl
and dh, ah
mov al, 1
xor al, 1
and al, 0
and ah, 1
or cl, dh
or al, ah
xor cl, al
xor cl, 0xff
xor cl, 1
and cl, 0xff
mov ah, 1
xor ah, 1
and ah, 1
mov dh, 1
xor dh, 1
mov bl, dh
and bl, 1
mov al, 1
xor al, 1
and al, 0xff
and dh, 1
or ah, bl
or al, dh
xor ah, al
xor dl, 0xff
xor ah, 0xff
mov al, 1
xor al, 0
or dl, ah
or al, 0
xor dl, 0xff
and dl, al
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [ebp - 0x56], al
mov dl, 1
xor dl, 0
and dl, 1
mov al, 1
xor al, 1
and al, 0
or dl, al
xor dl, 0xff
xor dl, 1
and dl, 0xff
mov cl, 1
xor cl, 1
and cl, 1
mov al, 1
xor al, 1
and al, 1
or cl, al
mov bl, 1
xor bl, 0
mov ah, cl
xor ah, 0xff
mov al, 1
xor al, 1
or bl, ah
or al, 1
xor bl, 0xff
and bl, al
mov al, 1
xor al, 1
and al, 0
mov bh, 1
xor bh, 0
mov ah, bh
and ah, 1
mov dh, 1
xor dh, 1
and dh, 0
and bh, 1
or al, ah
mov ah, byte [ebp - 0x4f]
or dh, bh
xor al, dh
xor al, 0xff
mov bh, 1
xor bh, 1
mov dh, 1
xor dh, 0
or al, bh
or dh, 0
xor al, 0xff
and al, dh
xor cl, 0xff
xor cl, 1
and cl, 0xff
mov dh, dl
and dh, bl
xor dl, bl
or dh, dl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov al, dh
xor al, 0xff
and al, 0
mov bl, 1
xor bl, 0
and dh, bl
mov cl, dl
xor cl, 0xff
and cl, 0
and dl, bl
or al, dh
or cl, dl
xor al, cl
mov byte [ebp - 0x4d], al
mov al, ah
xor al, 0xff
and al, 1
mov dl, 1
xor dl, 1
and ah, dl
mov cl, 1
xor cl, 1
and cl, 0xff
and dl, 1
or al, ah
or cl, dl
xor al, cl
mov bh, 1
xor bh, 0
and bh, 1
mov cl, 1
xor cl, 1
and cl, 0
or bh, cl
mov cl, 1
xor cl, 1
and cl, 1
mov ah, 1
xor ah, 1
mov dh, ah
and dh, 1
mov dl, 1
xor dl, 1
and dl, 0xff
and ah, 1
or cl, dh
or dl, ah
xor cl, dl
mov byte [ebp - 0x66], cl
mov cl, al
xor cl, 0xff
mov dh, bh
xor dh, 0xff
mov dl, 1
xor dl, 0
mov ah, cl
and ah, 0
and al, dl
mov bl, dh
and bl, 0
and bh, dl
or ah, al
mov al, byte [ebp - 0x66]
or bl, bh
xor ah, bl
or cl, dh
xor cl, 0xff
or dl, 0
and cl, dl
or ah, cl
mov cl, 1
xor cl, 1
mov bl, al
xor bl, 0xff
mov dh, 1
xor dh, 0
mov dl, cl
and dl, 0
mov bh, dh
and bh, 1
mov byte [ebp - 0x65], bh
mov bh, bl
and bh, 0
and al, dh
mov byte [ebp - 0x64], al
mov al, byte [ebp - 0x65]
or dl, al
mov al, byte [ebp - 0x64]
or bh, al
mov al, byte [ebp - 0x4d]
xor dl, bh
or cl, bl
xor cl, 0xff
or dh, 0
and cl, dh
or dl, cl
mov cl, ah
xor cl, 0xff
and cl, 1
mov dh, 1
xor dh, 1
and ah, dh
or cl, ah
xor dl, 0xff
mov bl, cl
xor bl, dl
and bl, cl
mov cl, ch
xor cl, 0xff
and cl, 0
mov ah, 1
xor ah, 0
and ch, ah
mov dl, 1
xor dl, 1
and dl, 0
and ah, 1
or cl, ch
or dl, ah
xor cl, dl
mov dl, al
xor dl, 0xff
and dl, 1
mov ah, 1
xor ah, 1
and al, ah
or dl, al
mov al, 1
xor al, 1
and al, 1
mov ah, 1
xor ah, 1
and ah, 1
or al, ah
mov ah, cl
and ah, dl
xor cl, dl
or ah, cl
mov cl, 1
xor cl, 1
mov bh, al
xor bh, 0xff
mov dh, 1
xor dh, 0
mov dl, cl
and dl, 0
mov ch, dh
and ch, 1
mov byte [ebp - 0x63], ch
mov ch, bh
and ch, 0
and al, dh
mov byte [ebp - 0x62], al
mov al, byte [ebp - 0x63]
or dl, al
mov al, byte [ebp - 0x62]
or ch, al
mov al, byte [ebp - 0x61]
xor dl, ch
mov ch, byte [ebp - 0x56]
or cl, bh
xor cl, 0xff
or dh, 0
and cl, dh
or dl, cl
mov cl, ah
xor cl, 0xff
and cl, 1
mov dh, 1
xor dh, 1
and ah, dh
or cl, ah
xor dl, 0xff
mov ah, cl
xor ah, dl
and ah, cl
mov bh, 1
xor bh, 0
and bh, 1
mov dh, 1
xor dh, 1
mov dl, dh
and dl, 0
mov cl, 1
xor cl, 1
and cl, 0xff
and dh, 1
or bh, dl
mov dl, byte [ebp - 0x4d]
or cl, dh
xor bh, cl
mov dh, ch
xor dh, 0xff
mov cl, bh
and cl, dh
xor bh, 0xff
mov dh, ch
and dh, bh
or cl, dh
xor ch, 0xff
mov dh, cl
xor dh, ch
and dh, cl
mov cl, al
xor cl, 0xff
and cl, 1
mov ch, 1
xor ch, 1
and al, ch
or cl, al
mov al, dl
xor al, 0xff
and al, 1
mov ch, 1
xor ch, 1
and dl, ch
or al, dl
mov byte [ebp - 0x60], al
mov al, 1
xor al, 1
and al, 0
mov ch, 1
xor ch, 0
mov bh, ch
and bh, 1
mov dl, 1
xor dl, 1
and dl, 0
and ch, 1
or al, bh
mov bh, byte [ebp - 0x60]
or dl, ch
xor al, dl
mov byte [ebp - 0x5b], al
mov dl, cl
xor dl, 0xff
xor bh, 0xff
mov ch, 1
xor ch, 1
mov al, dl
and al, 0xff
mov byte [ebp - 0x5f], al
and cl, ch
mov al, bh
and al, 0xff
mov byte [ebp - 0x5e], al
mov al, byte [ebp - 0x60]
and al, ch
mov byte [ebp - 0x5d], al
mov al, byte [ebp - 0x5f]
or al, cl
mov cl, byte [ebp - 0x5e]
mov byte [ebp - 0x5c], al
mov al, byte [ebp - 0x5d]
or cl, al
mov al, byte [ebp - 0x5c]
xor al, cl
mov cl, byte [ebp - 0x5b]
or dl, bh
xor dl, 0xff
or ch, 1
and dl, ch
or al, dl
mov byte [ebp - 0x58], al
mov dl, 1
xor dl, 1
mov byte [ebp - 0x57], dl
mov bh, cl
xor bh, 0xff
mov ch, 1
xor ch, 1
and dl, 0xff
mov al, ch
and al, 1
mov byte [ebp - 0x5a], al
mov al, bh
and al, 0xff
mov byte [ebp - 0x59], al
mov al, byte [ebp - 0x5a]
and cl, ch
or dl, al
mov al, byte [ebp - 0x59]
or al, cl
mov cl, byte [ebp - 0x58]
xor dl, al
mov al, byte [ebp - 0x57]
or al, bh
xor al, 0xff
or ch, 1
and al, ch
or dl, al
mov al, cl
xor al, 0xff
and al, 0
mov bh, 1
xor bh, 0
and cl, bh
mov ch, 1
xor ch, 1
and ch, 0
and bh, 1
or al, cl
mov cl, byte [ebp - 0x56]
or ch, bh
xor al, ch
xor dl, 0xff
mov ch, al
xor ch, dl
and ch, al
mov bh, bl
xor bh, 0xff
mov dl, ah
xor dl, 0xff
mov al, 1
xor al, 0
or bh, dl
or al, 0
xor bh, 0xff
and bh, al
mov al, bl
xor al, 0xff
and al, 1
mov byte [ebp - 0x55], al
mov al, 1
xor al, 1
and bl, al
mov dl, ah
xor dl, 0xff
and dl, 0xff
and ah, al
mov al, byte [ebp - 0x55]
or al, bl
or dl, ah
xor al, dl
mov dl, bh
xor dl, 0xff
mov byte [ebp - 0x52], dl
mov bl, al
xor bl, 0xff
mov ah, 1
xor ah, 0
and dl, 0
and bh, ah
mov byte [ebp - 0x54], bh
mov bh, bl
and bh, 0
and al, ah
mov byte [ebp - 0x53], al
mov al, byte [ebp - 0x54]
or dl, al
mov al, byte [ebp - 0x53]
or bh, al
mov al, byte [ebp - 0x52]
xor dl, bh
or al, bl
xor al, 0xff
or ah, 0
and al, ah
or dl, al
mov bl, dh
xor bl, 0xff
mov ah, ch
xor ah, 0xff
mov al, 1
xor al, 0
or bl, ah
or al, 0
xor bl, 0xff
and bl, al
mov al, dh
xor al, 0xff
and al, 1
mov bh, 1
xor bh, 1
and dh, bh
mov ah, ch
xor ah, 0xff
and ah, 0xff
and ch, bh
or al, dh
or ah, ch
xor al, ah
mov ah, bl
xor ah, 0xff
mov dh, al
xor dh, 0xff
mov ch, 1
xor ch, 1
mov bh, ah
and bh, 0xff
and bl, ch
mov byte [ebp - 0x51], bl
mov bl, dh
and bl, 0xff
and al, ch
mov byte [ebp - 0x50], al
mov al, byte [ebp - 0x51]
or bh, al
mov al, byte [ebp - 0x50]
or bl, al
mov al, byte [ebp - 0x4f]
xor bh, bl
or ah, dh
xor ah, 0xff
or ch, 1
and ah, ch
or bh, ah
mov ch, dl
xor ch, 0xff
and ch, 1
mov dh, 1
xor dh, 1
mov ah, dl
and ah, dh
or ch, ah
xor ch, 0xff
mov ah, bh
xor ah, ch
and ah, bh
mov dh, bh
xor dh, 0xff
and dh, 1
mov bl, 1
xor bl, 1
and bh, bl
mov ch, 1
xor ch, 1
and ch, 0xff
and bl, 1
or dh, bh
or ch, bl
xor dh, ch
xor dh, 0xff
mov ch, dl
xor ch, dh
and ch, dl
mov dl, ah
and dl, ch
xor ah, ch
or dl, ah
mov ah, cl
xor ah, 0xff
mov bh, al
xor bh, ah
and bh, al
mov ah, al
xor ah, 0xff
mov bl, cl
and bl, ah
xor cl, 0xff
and al, cl
or bl, al
mov cl, bh
xor cl, 0xff
mov ch, bl
xor ch, 0xff
mov ah, 1
xor ah, 0
mov al, cl
and al, 0
and bh, ah
mov dh, ch
and dh, 0
and bl, ah
or al, bh
or dh, bl
xor al, dh
or cl, ch
xor cl, 0xff
or ah, 0
and cl, ah
or al, cl
mov cl, al
xor cl, 0xff
and cl, 1
mov ch, 1
xor ch, 1
mov dh, al
and dh, ch
mov ah, 1
xor ah, 1
and ah, 0xff
and ch, 1
or cl, dh
or ah, ch
xor cl, ah
xor cl, 0xff
xor cl, 1
and cl, 0xff
mov bl, 1
xor bl, 1
and bl, 0
mov ch, 1
xor ch, 0
mov dh, ch
and dh, 1
mov ah, 1
xor ah, 1
and ah, 0
and ch, 1
or bl, dh
or ah, ch
xor bl, ah
mov ch, bl
xor ch, 0xff
mov ah, al
xor ah, ch
and ah, al
mov ch, 1
xor ch, 1
and ch, 1
mov al, 1
xor al, 1
and al, 1
or ch, al
mov dh, 1
xor dh, 1
mov al, ch
xor al, dh
and al, ch
mov ch, 1
xor ch, 1
xor bl, 0xff
mov dh, 1
xor dh, 0
or ch, bl
or dh, 0
xor ch, 0xff
and ch, dh
mov dh, cl
and dh, ah
xor cl, ah
or dh, cl
mov ah, al
xor ah, 0xff
mov byte [ebp - 0x4e], ah
mov bl, ch
xor bl, 0xff
mov cl, 1
xor cl, 1
and ah, 0xff
and al, cl
mov bh, bl
and bh, 0xff
and ch, cl
or ah, al
mov al, byte [ebp - 0x4e]
or bh, ch
mov ch, byte [ebp - 0x4d]
xor ah, bh
or al, bl
xor al, 0xff
or cl, 1
and al, cl
or ah, al
mov al, dh
xor al, 0xff
and al, 1
mov bl, 1
xor bl, 1
and dh, bl
mov cl, ah
xor cl, 0xff
and cl, 0xff
and ah, bl
or al, dh
or cl, ah
xor al, cl
mov cl, 1
xor cl, 0
mov dh, ch
xor dh, 0xff
mov ah, 1
xor ah, 0
or cl, dh
or ah, 0
xor cl, 0xff
and cl, ah
mov dh, 1
xor dh, 0
mov ah, ch
and ah, dh
xor ch, 0xff
and ch, 0
or ah, ch
mov dh, cl
and dh, ah
xor cl, ah
or dh, cl
mov cl, al
xor cl, 0xff
and cl, 1
mov ah, 1
xor ah, 1
and al, ah
or cl, al
mov ah, dh
xor ah, 0xff
and ah, 0
mov ch, 1
xor ch, 0
and dh, ch
mov al, 1
xor al, 1
and al, 0
and ch, 1
or ah, dh
or al, ch
xor ah, al
mov al, 1
xor al, 1
and al, 1
mov ch, 1
xor ch, 1
and ch, 1
or al, ch
mov dh, cl
and dh, ah
xor cl, ah
or dh, cl
mov ah, al
and ah, 1
xor al, 1
or ah, al
mov al, dh
xor al, 0xff
and al, 1
mov ch, 1
xor ch, 1
and dh, ch
mov cl, 1
xor cl, 1
and cl, 0xff
and ch, 1
or al, dh
or cl, ch
xor al, cl
xor ah, 0xff
mov cl, al
xor cl, ah
and cl, al
mov al, cl
xor al, 0xff
mov bl, dl
xor bl, al
and bl, dl
mov dh, dl
xor dh, 0xff
and dh, 0
mov ah, 1
xor ah, 0
and dl, ah
mov al, cl
xor al, 0xff
and al, 0
and cl, ah
or dh, dl
or al, cl
xor dh, al
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xb3096ef5
mov ecx, 0xfa783430
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x47751b
push eax
mov eax, esp
mov dword [ebp - 0x18], eax
push eax
mov eax, esp
mov dword [ebp - 0x14], eax
mov ecx, dword [0x63d5cc]
mov eax, dword [0x63d5c8]
mov esi, 0xee7ad2f8
add esi, 0
sub esi, ecx
sub esi, 0xee7ad2f8
xor edi, edi
sub edi, 0xf3549a54
add edi, 0
xor edx, edx
sub edx, edi
sub esi, edx
xor edx, edx
sub edx, 0xb931be2
sub edx, esi
add edx, 0xb931be2
xor esi, esi
sub esi, edx
xor edx, edx
sub edx, 0xb133f4c1
add esi, edx
xor edx, edx
sub edx, esi
xor esi, esi
sub esi, 1
add edx, esi
xor esi, esi
sub esi, 0xb133f4c1
add edx, esi
sub edx, 0x58d128a5
add edx, 0x5d23cef
add edx, 0x58d128a5
xor esi, esi
sub esi, 0xf3549a54
add edx, esi
sub edx, 0x8edb2677
sub edx, 0x5d23cef
add edx, 0x8edb2677
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl bh
mov bl, cl
xor bl, 0xff
and bl, 1
mov dl, 1
xor dl, 1
mov al, cl
and al, dl
or bl, al
mov al, bh
xor al, 0xff
and al, 1
mov ah, 1
xor ah, 1
mov dl, bh
and dl, ah
or al, dl
mov dl, 1
xor dl, 0
and dl, 1
mov ah, 1
xor ah, 1
and ah, 0
or dl, ah
mov byte [ebp - 0x71], dl
mov dl, bl
xor dl, 0xff
mov dh, al
xor dh, 0xff
mov ch, 1
xor ch, 1
mov ah, dl
and ah, 0xff
and bl, ch
mov byte [ebp - 0x73], bl
mov bl, dh
and bl, 0xff
and al, ch
mov byte [ebp - 0x72], al
mov al, byte [ebp - 0x73]
or ah, al
mov al, byte [ebp - 0x72]
or bl, al
mov al, byte [ebp - 0x71]
xor ah, bl
or dl, dh
xor dl, 0xff
or ch, 1
and dl, ch
or ah, dl
mov dl, al
and dl, 0
xor al, 0
or dl, al
mov al, ah
xor al, 0xff
and al, 1
mov ch, 1
xor ch, 1
and ah, ch
or al, ah
xor dl, 0xff
mov ah, al
xor ah, dl
and ah, al
mov bl, cl
xor bl, 0xff
and bl, 0
mov dl, 1
xor dl, 0
mov ch, cl
and ch, dl
mov al, 1
xor al, 1
and al, 0
and dl, 1
or bl, ch
or al, dl
xor bl, al
xor bl, 0xff
xor bl, 1
and bl, 0xff
mov dl, 1
xor dl, 1
and dl, 1
mov al, 1
xor al, 1
and al, 1
or dl, al
mov ch, dl
xor ch, 0xff
mov al, cl
xor al, ch
and al, cl
mov byte [ebp - 0x70], al
mov ch, bh
xor ch, 0xff
and ch, 1
mov dh, 1
xor dh, 1
mov al, bh
and al, dh
mov cl, 1
xor cl, 1
and cl, 0xff
and dh, 1
or ch, al
mov al, byte [ebp - 0x70]
or cl, dh
xor ch, cl
mov dh, 1
xor dh, 1
mov cl, ch
xor cl, dh
and cl, ch
mov byte [ebp - 0x6d], cl
xor bh, 0xff
xor dl, 0xff
mov cl, 1
xor cl, 0
or bh, dl
or cl, 0
xor bh, 0xff
and bh, cl
mov dl, bl
xor dl, 0xff
mov dh, al
xor dh, 0xff
mov ch, 1
xor ch, 1
mov cl, dl
and cl, 0xff
and bl, ch
mov byte [ebp - 0x6f], bl
mov bl, dh
and bl, 0xff
and al, ch
mov byte [ebp - 0x6e], al
mov al, byte [ebp - 0x6f]
or cl, al
mov al, byte [ebp - 0x6e]
or bl, al
mov al, byte [ebp - 0x6d]
xor cl, bl
or dl, dh
xor dl, 0xff
or ch, 1
and dl, ch
or cl, dl
mov byte [ebp - 0x6c], cl
mov dl, al
xor dl, 0xff
mov dh, bh
xor dh, 0xff
mov ch, 1
xor ch, 0
mov cl, dl
and cl, 0
and al, ch
mov bl, dh
and bl, 0
and bh, ch
or cl, al
mov al, byte [ebp - 0x6c]
or bl, bh
xor cl, bl
or dl, dh
xor dl, 0xff
or ch, 0
and dl, ch
or cl, dl
mov dl, al
xor dl, 0xff
mov ch, cl
and ch, dl
xor cl, 0xff
and al, cl
or ch, al
mov al, ah
xor al, 0xff
and al, 1
mov dl, 1
xor dl, 1
mov cl, ah
and cl, dl
or al, cl
mov byte [ebp - 0x68], al
mov bh, ch
xor bh, 0xff
and bh, 1
mov dl, 1
xor dl, 1
mov dh, ch
and dh, dl
mov cl, 1
xor cl, 1
and cl, 0xff
and dl, 1
or bh, dh
or cl, dl
xor bh, cl
mov dh, 1
xor dh, 1
and dh, 1
mov cl, 1
xor cl, 1
and cl, 1
or dh, cl
mov byte [ebp - 0x69], dh
mov cl, 1
xor cl, 1
mov dl, al
xor dl, cl
and dl, al
xor ah, 0xff
mov cl, dh
xor cl, 0xff
mov al, 1
xor al, 1
or ah, cl
or al, 1
xor ah, 0xff
and ah, al
mov al, bh
xor al, 0xff
mov bl, 1
xor bl, 1
mov cl, 1
xor cl, 0
or al, bl
or cl, 0
xor al, 0xff
and al, cl
xor dh, 0xff
mov cl, ch
xor cl, dh
and cl, ch
mov dh, dl
and dh, ah
xor dl, ah
or dh, dl
mov dl, al
xor dl, 0xff
mov bl, cl
xor bl, 0xff
mov ah, 1
xor ah, 1
mov ch, dl
and ch, 0xff
and al, ah
mov byte [ebp - 0x6b], al
mov al, bl
and al, 0xff
mov byte [ebp - 0x6a], al
mov al, byte [ebp - 0x6b]
and cl, ah
or ch, al
mov al, byte [ebp - 0x6a]
or al, cl
mov cl, byte [ebp - 0x69]
xor ch, al
mov al, byte [ebp - 0x68]
or dl, bl
xor dl, 0xff
or ah, 1
and dl, ah
or ch, dl
mov dl, dh
xor dl, 0xff
and dl, 0
mov bl, 1
xor bl, 0
and dh, bl
mov ah, ch
xor ah, 0xff
and ah, 0
and ch, bl
or dl, dh
or ah, ch
xor dl, ah
mov byte [ebp - 0x67], dl
mov dl, al
xor dl, 0xff
mov ch, bh
xor ch, 0xff
mov ah, 1
xor ah, 1
mov dh, dl
and dh, 0xff
and al, ah
mov bl, ch
and bl, 0xff
and bh, ah
or dh, al
mov al, byte [ebp - 0x67]
or bl, bh
xor dh, bl
or dl, ch
xor dl, 0xff
or ah, 1
and dl, ah
or dh, dl
mov dl, dh
xor dl, 0xff
and dl, 0
mov ch, 1
xor ch, 0
and dh, ch
mov ah, 1
xor ah, 1
and ah, 0
and ch, 1
or dl, dh
or ah, ch
xor dl, ah
mov ah, cl
and ah, 1
xor cl, 1
or ah, cl
xor ah, 0xff
mov cl, dl
xor cl, ah
and cl, dl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xb3096ef5
mov ecx, 0x2b3667d9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x47751b
mov dword [ebp - 0x28], 0xcdd92c07
jmp 0x47751b
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x34]
mov edi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
mov dword [eax], edi
mov eax, dword [ebp - 0x1c]
mov dword [eax], esi
mov eax, dword [ebp - 0x18]
mov dword [eax], edx
mov eax, dword [ebp - 0x14]
mov dword [eax], ecx
rcr ebx, 0x9b
inc esi
rol edi, 0x4b
neg edi
bswap ebx
inc esi
ror eax, 0x13
sbb esi, 0x74
ror eax, 0xb9
add eax, 0x92
and edi, 0x11
ror esi, 0x2f
and edi, 0xef
neg edx
ror edi, 0xbb
inc edx
neg edi
or ebx, 0xa5
imul ebx
inc edi
not edi
neg ebx
or edx, 0x36
rcl ebx, 0xfc
bswap esi
rol esi, 0x17
mov eax, 0xba
inc esi
imul edi
rcr esi, 0x11
bswap eax
ror edi, 0x29
add ebx, 4
inc ebx
sub esi, 0xd3
or edi, 0xd2
mov edx, 0x6f
or edx, 0xeb
neg edi
ror edx, 0xe3
bswap eax
and edi, 0x2d
neg esi
imul edi
inc ebx
inc ebx
inc edi
imul eax
ror eax, 0x2e
rcr eax, 0x6e
mov esi, 0x50
inc edx
neg eax
rcl edx, 0x28
ror ebx, 0xc5
and edx, 0x7d
rcl eax, 0xca
sbb edi, 0x90
sbb ebx, 0x95
neg esi
not eax
inc edi
dec esi
rcl ebx, 0x64
dec esi
imul esi
neg edx
neg ebx
add edi, 0xa5
add edi, 0x2a
ror eax, 0xa1
rol edi, 0x5d
inc edx
not ebx
rcl edx, 0x78
not edx
add eax, 0x26
ror esi, 0xa2
not ebx
not edi
not ebx
neg esi
dec edx
ror eax, 0xce
imul esi
not esi
imul edx
or edi, 0x35
neg esi
rcr esi, 0xb
rol edx, 0x80
not edi
dec edx
sub esi, 0x59
neg ebx
imul ebx
dec edx
sbb ebx, 0x8d
sbb eax, 0xae
rcr edi, 0xe3
mov eax, 0xde
neg ebx
add edi, 0xf2
dec edi
bswap eax
sbb edi, 0x82
neg edx
dec eax
rcl eax, 0xb
imul edi
rcr ebx, 0xa
or eax, 0x66
imul edx
neg ebx
add esi, 0x5c
and edx, 0xdd
inc edx
not edx
inc edx
not ebx
imul eax
sbb edx, 5
neg edi
rcr ebx, 0xf
rcr eax, 0xdd
or edx, 0x37
imul edx
mov edx, 0x80
neg edi
bswap edx
imul eax
bswap ebx
rcr edi, 0xa4
inc eax
neg ebx
and esi, 0x94
bswap edi
sub ebx, 0x7d
sbb eax, 0x54
sub esi, 0xf3
inc esi
ror edi, 0x4b
add esi, 6
bswap edi
rcl eax, 0xbf
sub ebx, 0x4f
add edi, 0x83
sbb esi, 0x51
neg esi
dec ebx
mov dword [ebp - 0x28], 0x810db3d2
jmp 0x47751b
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x18]
mov edx, dword [edx]
mov esi, dword [ebp - 0x14]
mov esi, dword [esi]
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005fa0c0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x28], 0xc0f4d478
jmp 0x47751b
mov dword [ebp - 0x28], 0xfa783430
jmp 0x47607a