Function at 0x401000
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov eax, dword [0x496040]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x497394]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
mov edx, eax
or edx, 0x4041e10
not ecx
and eax, 0x1a2c008
mov esi, ecx
and edx, 0x5e1c1e31
and esi, 0xa04121c6
or esi, edx
mov edx, ecx
or edx, 0x5a180021
and edx, 0x5e1c1e31
or eax, edx
xor eax, esi
mov esi, dword [0x497390]
mov edx, eax
not edx
and eax, 0xfa5921e6
and edx, 0x5a6de19
or eax, edx
mov edx, eax
not edx
and eax, 0x4bcab5b4
and edx, 0xb4354a4b
or eax, edx
xor eax, 0x4bcab5b4
or eax, ecx
cmp eax, 0xffffffff
mov eax, 0x55a1c234
sete byte [ebp - 0x11]
cmp esi, 0xa
setl byte [ebp - 0x12]
jmp 0x401390
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 0xc]
mov dword [eax], ecx
and esi, 0xc5
bswap eax
sbb edi, 0xc2
inc edx
rol esi, 0xd4
neg eax
add esi, 0x88
sub edx, 0x5f
not esi
and edx, 0x37
rol ebx, 0x98
sbb edi, 0xae
add eax, 0x68
rcr eax, 0x9e
mov esi, 0x52
add ebx, 0xad
dec esi
mov esi, 0xea
inc edi
neg eax
bswap ebx
and esi, 0x6d
ror edi, 0x15
rcr eax, 0x1b
dec ebx
ror esi, 0x36
inc edi
or eax, 0xf9
inc edi
not ebx
sbb esi, 0x1d
neg ebx
rol esi, 0xc1
ror eax, 0xea
ror esi, 0x6a
not ebx
add eax, 0xf6
rcr edi, 0xc
add ebx, 0x22
dec esi
ror ebx, 0x51
not eax
not edi
neg esi
mov esi, 0x57
and eax, 0x44
neg esi
and eax, 0x4b
sbb ebx, 0x61
neg eax
add edi, 0x80
sbb esi, 0x5f
add esi, 0xbf
rol edi, 0x48
not edi
rcl eax, 0xa3
neg edi
rol eax, 0x68
sbb esi, 0x19
add edi, 0xd5
dec eax
not esi
rol esi, 0xf7
rcr edx, 0x72
neg esi
sbb esi, 0xbe
sbb edx, 0x8d
rol edi, 0x3a
and edi, 0x41
rcl edi, 0x1f
ror edx, 0x3a
inc esi
neg esi
bswap esi
dec edi
bswap esi
add ebx, 0xa9
rcr edx, 0x19
and eax, 0x58
rcl edx, 0xe4
bswap eax
inc edx
imul edi
bswap edx
not ebx
add edi, 0x1a
mov eax, 0x2b
imul eax
add edi, 0x68
not eax
ror ebx, 0x12
rcr ebx, 0x73
not esi
inc ebx
or edx, 0x46
or eax, 0x33
bswap ebx
add ebx, 0x80
sbb edi, 0xb7
or edx, 0xe9
mov edx, 0xd9
rcr ebx, 0xa2
bswap edi
mov edi, 0x7f
inc ebx
bswap edi
dec edi
not eax
rcl eax, 0xaa
neg esi
mov edx, 0xd4
rcr eax, 0xae
rcl edx, 0x68
neg edx
and eax, 0
sub edi, 0x47
dec edi
sbb esi, 0x15
imul esi
sub ebx, 0x4b
not ebx
and ebx, 0x8c
not edx
bswap esi
rcr eax, 0xf6
and esi, 0x19
not edi
dec ebx
ror edi, 0x4e
bswap ebx
sbb ebx, 0x8f
sub edi, 0x4d
not esi
rcr edi, 0x6d
rol eax, 0x97
imul esi
sbb eax, 0xc1
neg esi
rcl edi, 0xff
mov edx, 0x3d
and esi, 0x5b
imul ebx
dec edi
rcl eax, 0x68
ror edi, 0x23
bswap edx
or edx, 0xf8
or ebx, 0x8d
bswap esi
rol edi, 0xb8
imul eax
add edi, 0x8e
mov eax, 0xc6
dec edi
not edx
rcr edx, 0x5c
imul edi
not ebx
ror edx, 0xad
or edi, 0
rcr eax, 0x65
or edx, 0x3f
neg ebx
or edi, 0x7c
dec eax
rol edx, 7
rcl edx, 0xa5
bswap edi
bswap ebx
inc esi
sub eax, 0xe2
mov edi, 0xe0
inc edi
rol ebx, 0xeb
ror eax, 0x98
rol edx, 0x90
sbb edx, 0xeb
neg ebx
imul edi
neg eax
inc esi
rol ebx, 0x6b
neg eax
and edx, 0x86
not eax
neg edi
imul ebx
bswap edx
imul ebx
sub esi, 0xd9
mov edx, 0xc4
sbb ebx, 0xc0
rcl eax, 0xb7
and eax, 0xdd
bswap esi
dec esi
dec ebx
imul edx
dec eax
dec edx
dec esi
mov edi, 0xf3
bswap edi
add eax, 0xdf
dec ebx
inc ebx
rcl eax, 2
neg edi
mov ebx, 0x9e
bswap edx
or edx, 0xf8
not edi
sub edx, 0x55
or esi, 0x98
sbb eax, 0xae
sbb edx, 0xd0
imul edi
mov ebx, 0xb1
and eax, 0x48
not edx
dec esi
inc ebx
sub edi, 0xa0
and edi, 0xd9
dec edx
neg esi
or edi, 0x17
or edx, 0xde
not edi
sub ebx, 0x85
bswap esi
imul eax
rcl edx, 0x64
add ebx, 0xdb
imul eax
rcl ebx, 0xdb
inc edx
dec ebx
neg eax
sub edx, 0x76
sub eax, 0xa4
not esi
dec eax
sub esi, 0x5e
imul eax
sub eax, 0xd2
sub ebx, 0xe0
sbb edi, 0xe2
neg esi
dec edx
mov eax, 0xb7a3d909
nop
cmp eax, 0xc3a79729
jle 0x401490
cmp eax, 0x24628ea
jle 0x4014c0
cmp eax, 0x24628eb
je 0x40178f
cmp eax, 0x18e384d2
je 0x401799
cmp eax, 0x55a1c234
jne 0x401390
movzx eax, byte [ebp - 0x11]
movzx edx, byte [ebp - 0x12]
mov esi, 0xc3a7972a
mov edi, 0x18e384d2
mov ah, al
xor ah, 1
mov cl, ah
and cl, al
xor ah, cl
xor cl, 1
or cl, al
xor cl, 1
or cl, ah
mov ah, dl
mov ch, cl
xor ah, 1
xor ch, 1
mov al, ah
mov dh, ch
and al, dl
and dh, cl
xor ah, al
xor al, 1
xor dh, 1
or al, dl
or dh, ch
xor al, 1
xor dh, 1
or al, ah
or dh, cl
mov ah, al
mov dl, dh
mov bl, dh
xor ah, 1
xor dl, 1
and dl, dh
xor dl, 1
xor bl, dl
or dl, dh
xor dl, 1
or dl, bl
mov dh, dl
and dl, al
xor dh, 1
and dh, ah
or dl, dh
mov dh, ah
and dh, al
xor dh, 1
or dh, al
or al, cl
xor dh, 1
xor al, 1
or dh, ah
xor ah, ch
mov bl, dh
or al, ah
xor dh, 1
and bl, cl
xor al, 1
and dh, ch
mov ecx, edx
or al, bl
xor cl, 1
mov ebx, 0x18e384d2
or al, dh
mov ah, al
xor ah, 1
and ah, cl
or cl, al
and al, dl
or al, ah
mov edx, ecx
xor dl, al
test dl, 1
cmovne ebx, esi
test al, 1
mov eax, ebx
cmovne eax, edi
test cl, 1
cmovne eax, ebx
jmp 0x401390
cmp eax, 0xb7a3d908
jg 0x4015b0
cmp eax, 0x9f4db321
je 0x401099
cmp eax, 0xa012c5cd
jne 0x401cbe
mov eax, 0xe9b133b2
jmp 0x401390
cmp eax, 0xc3a7972a
je 0x401900
cmp eax, 0xe9b133b2
jne 0x401390
mov eax, dword [0x497394]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
not eax
mov esi, ecx
and esi, 0x30702421
mov edx, eax
and edx, 0x85094980
and eax, 0x24ece6a0
or esi, edx
mov edx, ecx
xor edx, 0xb5796da1
and edx, ecx
xor esi, 0x30702421
and ecx, 0xdb13195f
or edx, esi
or eax, ecx
mov esi, edx
not esi
and edx, 0x67357031
and esi, 0x98ca8fce
or edx, esi
mov esi, edx
xor esi, 0x4c0480
xor edx, 0x2db3e26e
mov edi, edx
and edi, 0xdb13195f
and esi, 0x24ece6a0
or esi, edi
mov edi, 0xb7a3d909
xor eax, esi
mov esi, 0x9f4db321
xor edx, eax
test edx, eax
sete ah
setne dl
cmp dword [0x497390], 0xa
setge al
setl cl
xor dl, al
xor cl, ah
xor dl, 1
and al, dl
xor al, 1
mov ah, al
or al, dl
xor ah, dl
xor al, 1
mov edx, ecx
or al, ah
xor al, 1
xor dl, al
or al, cl
xor al, 1
or al, dl
mov ecx, eax
xor cl, dl
test cl, 1
cmovne edi, esi
test al, 1
mov eax, 0xb7a3d909
cmovne eax, edi
test dl, 1
cmove eax, edi
jmp 0x401390
cmp eax, 0xb7a3d909
je 0x40190a
cmp eax, 0xb87a9049
jne 0x401390
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
xor ecx, ecx
xor edi, edi
mov ecx, dword [edx]
mov edi, dword [esi]
not byte [edi]
add byte [edi], 0x74
sub byte [edi], 0x62
imul byte [edi]
inc edi
loop 0x4015d4
inc ebx
ror edx, 0xb7
dec edi
and ebx, 0x19
add esi, 0x70
and eax, 0x1d
inc edi
imul edx
add esi, 0x8e
not ebx
imul edx
neg eax
rol esi, 0x8b
rcl edi, 0xc
ror ebx, 0x8c
rcl edx, 0xdb
mov edx, 0x84
rcr edi, 0x25
mov edi, 0xce
or esi, 0xca
rol edi, 0xeb
sbb edx, 0x8b
not esi
imul edx
rcl ebx, 0x9b
dec ebx
inc ebx
inc esi
imul edi
rcr edx, 0xf1
sbb edi, 0x12
inc edi
mov edx, 0x70
inc ebx
dec edx
inc edx
or edx, 0xc7
neg edx
ror edx, 0x8c
sub edi, 0x8d
and ebx, 0xe4
inc edx
dec eax
sbb edx, 0xe9
imul edi
neg ebx
neg eax
sbb edi, 0x18
sub edi, 0xd0
dec esi
dec edi
not ebx
neg esi
neg edi
dec esi
or ebx, 0xc1
inc esi
add edi, 0x34
dec edx
or edx, 0x3d
imul ebx
rol edx, 0xc2
neg edx
not esi
neg edi
bswap esi
inc edi
sbb esi, 0x25
rcl edx, 0x4b
rcr eax, 0x40
add edi, 0xc6
imul edi
sub eax, 0x58
inc edi
and ebx, 0x19
rcr edx, 0xb1
rol esi, 0x9f
neg esi
imul eax
imul esi
dec ebx
inc edi
mov ebx, 0x3c
ror esi, 0x41
not ebx
or edi, 0x48
rol esi, 0x83
sbb eax, 0x23
sub edi, 0x2c
rcr edi, 0x54
add edi, 0xe
or eax, 0x94
mov esi, 0xeb
and edi, 0xbb
bswap edx
and eax, 0x71
imul ebx
bswap ebx
dec ebx
sbb edx, 0xfa
ror esi, 0xba
rcl esi, 0xdc
dec eax
imul edi
inc ebx
add ebx, 0x6d
bswap esi
inc eax
inc esi
bswap eax
add esi, 0xe
add edi, 0x6e
sub edi, 0x22
add edi, 0x99
add edi, 0x4e
mov edi, 0x31
mov eax, 0xc4
mov edx, 0x1c
imul eax
add edx, 0x14
sub ebx, 0xd6
rcr eax, 0xf9
dec edi
rcl ebx, 0xab
dec ebx
imul eax
rcr ebx, 0x5f
and esi, 0xb6
add eax, 0xcd
sbb ebx, 0xd2
mov edx, 0x3a
bswap edi
bswap edx
not edi
bswap ebx
neg ebx
dec ebx
sub edi, 0x9a
rol ebx, 0x80
not edi
not esi
mov ebx, 0x61
bswap eax
neg eax
bswap edi
inc ebx
not edi
not ebx
rcr edi, 0xee
imul eax
mov eax, 0x890ea6d3
jmp 0x401390
mov eax, 0xb87a9049
jmp 0x401390
push eax
mov ecx, dword [0x497394]
mov eax, esp
mov dword [ebp - 0x18], eax
mov ebx, 0xa012c5cd
mov edi, 0xa012c5cd
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
not ecx
mov esi, eax
or esi, 0x80121124
and eax, 0x40890ec8
mov edx, ecx
or edx, 0xf64c013
and esi, 0x8f76d137
and ecx, 0x30002000
and edx, 0x8f76d137
or ecx, esi
or eax, edx
xor eax, ecx
mov ecx, eax
not ecx
and eax, 0x3f64e013
and ecx, 0xc09b1fec
or eax, ecx
mov ecx, eax
xor ecx, 1
mov edx, eax
not edx
and ecx, eax
and edx, 0x9892371
and eax, 0xf676dc8e
or eax, edx
xor eax, 0xf676dc8f
or eax, ecx
mov edx, eax
xor edx, 0xe2bd51ea
mov ecx, eax
and ecx, 0xa20c016a
and edx, eax
not eax
and eax, 0x40b15080
or ecx, eax
mov eax, ecx
xor eax, 0xa004006a
xor ecx, 0x5df3fe95
mov esi, ecx
and esi, 0x4fda3594
and eax, 0xa025406a
or eax, esi
mov esi, edx
not esi
and edx, 0xb025ca6b
or ecx, esi
and esi, 0x4fda3594
or edx, esi
not ecx
mov esi, 0xc3a7972a
xor edx, eax
or ecx, edx
mov eax, ecx
not eax
and ecx, 0xd4fe9f55
and eax, 0x2b0160aa
or ecx, eax
mov eax, ecx
xor eax, 0x1443c63c
xor ecx, 0xa00000
and eax, 0xdd5ff77c
and ecx, 0x22a00883
or ecx, eax
mov eax, ecx
xor eax, 0xd11c363c
xor ecx, 0x22a00003
and ecx, 0x2ee3c143
and eax, 0xd11c3ebc
or eax, ecx
xor eax, 0xd11c3ebc
setne cl
sete dl
cmp dword [0x497390], 0xa
setl al
setge ah
and cl, al
and ah, dl
or al, dl
or cl, ah
xor cl, 1
mov edx, ecx
mov dh, cl
xor dl, al
or al, cl
xor al, 1
or al, dl
or dh, al
xor al, cl
mov cl, dh
xor cl, al
test cl, 1
cmovne ebx, esi
test al, 1
mov eax, ebx
cmovne eax, edi
test dh, 1
cmovne eax, ebx
jmp 0x401390
mov eax, 0x18e384d2
jmp 0x401390
push eax
mov eax, esp
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x18]
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
and esi, 0xc5
bswap eax
sbb edi, 0xc2
inc edx
rol esi, 0xd4
neg eax
add esi, 0x88
sub edx, 0x5f
not esi
and edx, 0x37
rol ebx, 0x98
sbb edi, 0xae
add eax, 0x68
rcr eax, 0x9e
mov esi, 0x52
add ebx, 0xad
dec esi
mov esi, 0xea
inc edi
neg eax
bswap ebx
and esi, 0x6d
ror edi, 0x15
rcr eax, 0x1b
dec ebx
ror esi, 0x36
inc edi
or eax, 0xf9
inc edi
not ebx
sbb esi, 0x1d
neg ebx
rol esi, 0xc1
ror eax, 0xea
ror esi, 0x6a
not ebx
add eax, 0xf6
rcr edi, 0xc
add ebx, 0x22
dec esi
ror ebx, 0x51
not eax
not edi
neg esi
mov esi, 0x57
and eax, 0x44
neg esi
and eax, 0x4b
sbb ebx, 0x61
neg eax
add edi, 0x80
sbb esi, 0x5f
add esi, 0xbf
rol edi, 0x48
not edi
rcl eax, 0xa3
neg edi
rol eax, 0x68
sbb esi, 0x19
add edi, 0xd5
dec eax
not esi
rol esi, 0xf7
rcr edx, 0x72
neg esi
sbb esi, 0xbe
sbb edx, 0x8d
rol edi, 0x3a
and edi, 0x41
rcl edi, 0x1f
ror edx, 0x3a
inc esi
neg esi
bswap esi
dec edi
bswap esi
add ebx, 0xa9
rcr edx, 0x19
and eax, 0x58
rcl edx, 0xe4
bswap eax
inc edx
imul edi
bswap edx
not ebx
add edi, 0x1a
mov eax, 0x2b
imul eax
add edi, 0x68
not eax
ror ebx, 0x12
rcr ebx, 0x73
not esi
inc ebx
or edx, 0x46
or eax, 0x33
bswap ebx
add ebx, 0x80
sbb edi, 0xb7
or edx, 0xe9
mov edx, 0xd9
rcr ebx, 0xa2
bswap edi
mov edi, 0x7f
inc ebx
bswap edi
dec edi
not eax
rcl eax, 0xaa
neg esi
mov edx, 0xd4
rcr eax, 0xae
rcl edx, 0x68
neg edx
and eax, 0
sub edi, 0x47
dec edi
sbb esi, 0x15
imul esi
sub ebx, 0x4b
not ebx
and ebx, 0x8c
not edx
bswap esi
rcr eax, 0xf6
and esi, 0x19
not edi
dec ebx
ror edi, 0x4e
bswap ebx
sbb ebx, 0x8f
sub edi, 0x4d
not esi
rcr edi, 0x6d
rol eax, 0x97
imul esi
sbb eax, 0xc1
neg esi
rcl edi, 0xff
mov edx, 0x3d
and esi, 0x5b
imul ebx
dec edi
rcl eax, 0x68
ror edi, 0x23
bswap edx
or edx, 0xf8
or ebx, 0x8d
bswap esi
rol edi, 0xb8
imul eax
add edi, 0x8e
mov eax, 0xc6
dec edi
not edx
rcr edx, 0x5c
imul edi
not ebx
ror edx, 0xad
or edi, 0
rcr eax, 0x65
or edx, 0x3f
neg ebx
or edi, 0x7c
dec eax
rol edx, 7
rcl edx, 0xa5
bswap edi
bswap ebx
inc esi
sub eax, 0xe2
mov edi, 0xe0
inc edi
rol ebx, 0xeb
ror eax, 0x98
rol edx, 0x90
sbb edx, 0xeb
neg ebx
imul edi
neg eax
inc esi
rol ebx, 0x6b
neg eax
and edx, 0x86
not eax
neg edi
imul ebx
bswap edx
imul ebx
sub esi, 0xd9
mov edx, 0xc4
sbb ebx, 0xc0
rcl eax, 0xb7
and eax, 0xdd
bswap esi
dec esi
dec ebx
imul edx
dec eax
dec edx
dec esi
mov edi, 0xf3
bswap edi
add eax, 0xdf
dec ebx
inc ebx
rcl eax, 2
neg edi
mov ebx, 0x9e
bswap edx
or edx, 0xf8
not edi
sub edx, 0x55
or esi, 0x98
sbb eax, 0xae
sbb edx, 0xd0
imul edi
mov ebx, 0xb1
and eax, 0x48
not edx
dec esi
inc ebx
sub edi, 0xa0
and edi, 0xd9
dec edx
neg esi
or edi, 0x17
or edx, 0xde
not edi
sub ebx, 0x85
bswap esi
imul eax
rcl edx, 0x64
add ebx, 0xdb
imul eax
rcl ebx, 0xdb
inc edx
dec ebx
neg eax
sub edx, 0x76
sub eax, 0xa4
not esi
dec eax
sub esi, 0x5e
imul eax
sub eax, 0xd2
sub ebx, 0xe0
sbb edi, 0xe2
neg esi
dec edx
mov eax, dword [0x497394]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
mov edx, ecx
xor edx, 0xfffffffe
not eax
mov esi, eax
and edx, ecx
and esi, 0xfffffffe
and ecx, 0x7cff0d5b
and eax, 0x8300f2a4
or edx, esi
or eax, ecx
mov esi, edx
not esi
and edx, 0x8300f2a4
mov edi, esi
and edi, 0x7cff0d5b
or edx, edi
xor eax, edx
not eax
or eax, esi
mov esi, 0x9f4db321
xor eax, 0xffffffff
setne dl
sete al
cmp dword [0x497390], 0xa
mov ch, dl
setl ah
setge cl
inc ch
or ch, cl
mov cl, ah
or al, ah
or cl, dl
xor dl, ah
xor ch, 1
mov ah, dl
xor cl, 1
xor ah, al
or al, dl
or cl, ch
xor al, 1
mov ch, cl
or al, ah
xor ch, 1
mov edx, eax
xor dl, 1
and dl, ch
or ch, al
and al, cl
or al, dl
mov edx, 0x24628eb
mov cl, al
xor cl, ch
test al, 1
mov eax, 0x9f4db321
cmovne eax, edx
test ch, 1
cmovne eax, esi
test cl, 1
cmove eax, edx
jmp 0x401390
cmp eax, 0x890ea6d3
jne 0x401390
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00435fc0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret