Function at 0x4238e0
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa4
mov dword [ebp - 0x7c], 0x1c
mov dword [ebp - 0x2c], 0x5c
mov dword [ebp - 0x1c], 0x3d
mov dword [ebp - 0x48], 0x50
mov dword [ebp - 0x70], 0x3e
mov dword [ebp - 0x54], 0x24
mov dword [ebp - 0x6c], 0x14
mov dword [ebp - 0x24], 0x5a
mov dword [ebp - 0x14], 0x57
mov dword [ebp - 0x80], 0x34
mov dword [ebp - 0x28], 0x51
mov dword [ebp - 0x30], 0x1a
mov dword [ebp - 0x58], 0x43
mov dword [ebp - 0xa4], 0x28
mov dword [ebp - 0x18], 9
mov dword [ebp - 0x74], 0x37
mov dword [ebp - 0x78], 0x52
mov dword [ebp - 0xc], 0x2d
mov dword [ebp - 0x38], 0x48
mov dword [ebp - 8], 0x19
mov dword [ebp - 4], 0x5f
mov dword [ebp - 0x20], 0x3d
mov dword [ebp - 0x3c], 0x53
mov dword [ebp - 0x10], 0x23
mov dword [ebp - 0x34], 0x52
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xc]
jge 0x4239ac
mov dword [ebp - 0x64], 1
jmp 0x4239b3
mov dword [ebp - 0x64], 0
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x90], ecx
mov edx, dword [0x7f4dd8]
mov dword [ebp - 0x94], edx
mov eax, dword [0x7f4dd8]
add eax, 1
mov dword [0x7f4dd8], eax
mov ecx, dword [ebp - 0x90]
cmp ecx, dword [ebp - 0x94]
jge 0x4239ec
mov dword [ebp - 0x68], 1
jmp 0x4239f3
mov dword [ebp - 0x68], 0
mov edx, dword [ebp - 0x6c]
and edx, dword [ebp - 0x64]
or edx, dword [ebp - 0x68]
je 0x423a15
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x28]
jne 0x423a15
mov ecx, dword [0x7f4e00]
sub ecx, 1
mov dword [0x7f4e00], ecx
mov edx, dword [0x7f4cf8]
sub edx, 1
mov dword [0x7f4cf8], edx
mov eax, 0x2505
sub eax, dword [ebp + 0x18]
xor eax, 0xffff34ea
mov ecx, dword [ebp + 0x28]
xor ecx, 0x864b
or ecx, 0x532d
xor ecx, 0xdf26
mov byte [ecx + str.gXaVUxJhTqs], al
mov edx, dword [0x7f4dd8]
add edx, 8
push edx
mov eax, dword [ebp - 0x70]
sub eax, 0x38
push eax
mov ecx, dword [ebp - 0x34]
sub ecx, 0x47
push ecx
mov edx, dword [ebp - 0x3c]
sub edx, 0x48
push edx
mov eax, dword [ebp - 0x38]
add eax, 0x12
push eax
call fcn.0041edc0
add esp, 0x14
mov ecx, dword [ebp - 0x3c]
sub ecx, 1
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x6c]
sub edx, 7
push edx
mov eax, dword [ebp - 0x18]
sub eax, 3
push eax
mov ecx, dword [0x7f4dd4]
add ecx, 0x39
push ecx
mov edx, dword [0x7f4cf4]
sub edx, 2
push edx
mov eax, dword [0x7f4e64]
push eax
call fcn.004200f0
add esp, 0x14
mov ecx, dword [ebp + 0x14]
add ecx, 0x12fb
xor ecx, 0x7e4b
mov edx, dword [ebp + 0x1c]
add edx, 0x98da
xor edx, 0xdd3b
mov byte [edx + str.gXaVUxJhTqs], cl
mov eax, dword [ebp - 0x2c]
sub eax, 0x55
push eax
mov ecx, dword [0x7f4cf4]
sub ecx, 3
push ecx
mov edx, dword [ebp - 8]
add edx, 0x39
push edx
mov eax, dword [0x7f4da8]
sub eax, 0x1f
push eax
mov ecx, dword [ebp - 8]
sub ecx, 0xa
push ecx
call fcn.0041e960
add esp, 0x14
mov dword [ebp - 0x40], 0
jmp 0x423b19
mov edx, dword [ebp - 0x40]
add edx, 1
mov dword [ebp - 0x40], edx
mov eax, dword [0x7f4cf4]
sub eax, 0x58
cmp dword [ebp - 0x40], eax
jge 0x423b63
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x58]
mov edx, dword [0x7f4cf8]
and edx, dword [ebp - 0x78]
and ecx, edx
je 0x423b61
mov eax, dword [0x7f4cdc]
cmp eax, dword [ebp - 0x20]
jne 0x423b61
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0xc]
jge 0x423b61
mov eax, dword [0x7f4e04]
add eax, 1
mov dword [0x7f4e04], eax
jmp 0x423b10
mov ecx, dword [ebp - 4]
add ecx, dword [0x7f4e64]
cmp ecx, dword [0x7f4cc8]
jge 0x423b83
mov edx, dword [0x7f4d4c]
sub edx, 1
mov dword [0x7f4d4c], edx
mov eax, dword [ebp - 0x70]
add eax, 0x1f
push eax
mov ecx, dword [ebp - 0x58]
sub ecx, 0x11
push ecx
mov edx, dword [ebp - 8]
add edx, 0x42
push edx
mov eax, dword [ebp - 0x80]
sub eax, 0x1f
push eax
mov ecx, dword [0x7f4cfc]
sub ecx, 0x40
push ecx
mov edx, dword [0x7f4e60]
add edx, 0x56
push edx
mov eax, dword [ebp - 8]
add eax, 0xc
push eax
call fcn.00416ec0
add esp, 0x1c
mov dword [ebp - 0x44], 0
jmp 0x423bd4
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x48]
sub edx, 0x4f
cmp dword [ebp - 0x44], edx
jge 0x423bee
mov eax, dword [0x7f4d4c]
add eax, 1
mov dword [0x7f4d4c], eax
jmp 0x423bcb
mov ecx, dword [ebp - 0x1c]
sub ecx, 0x30
push ecx
mov edx, dword [ebp - 0x74]
add edx, 0x20
push edx
mov eax, dword [ebp - 0x74]
sub eax, 0x1a
push eax
mov ecx, dword [ebp - 0x30]
add ecx, 0xe
push ecx
mov edx, dword [0x7f4e00]
sub edx, 0x20
push edx
mov eax, dword [ebp - 0x10]
sub eax, 3
push eax
call fcn.0040bed0
add esp, 0x18
mov ecx, dword [0x7f4cc8]
sub ecx, 0x13
push ecx
mov edx, dword [ebp - 0x1c]
sub edx, 0x37
push edx
mov eax, dword [0x7f4d4c]
add eax, 0xd
push eax
mov ecx, dword [0x7f4cc8]
add ecx, 0x37
push ecx
mov edx, dword [ebp - 0x10]
sub edx, 0x14
push edx
call fcn.004200f0
add esp, 0x14
mov eax, dword [0x7f4dd8]
add eax, 1
mov dword [0x7f4dd8], eax
mov ecx, dword [ebp - 0x24]
sub ecx, 0x4d
push ecx
mov edx, dword [ebp - 8]
sub edx, 0x13
push edx
mov eax, dword [ebp - 0x18]
add eax, 0x3e
push eax
mov ecx, dword [ebp - 4]
sub ecx, 8
push ecx
mov edx, dword [ebp - 0x14]
sub edx, 0x48
push edx
call fcn.004200f0
add esp, 0x14
mov eax, 0xdfff
sub eax, dword [ebp + 0x18]
xor eax, 0xffffef3b
mov ecx, dword [ebp + 0x18]
or ecx, 0x9c3d
sub ecx, 0xd793
xor ecx, 0x24a6
mov byte [ecx + str.gXaVUxJhTqs], al
mov edx, dword [ebp - 0x28]
sub edx, 1
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x20]
sub eax, 0x31
push eax
mov ecx, dword [0x7f4dac]
add ecx, 6
push ecx
mov edx, dword [ebp - 0x28]
sub edx, 0x33
push edx
mov eax, dword [ebp - 0x24]
sub eax, 0x32
push eax
mov ecx, dword [ebp - 0x54]
add ecx, 7
push ecx
mov edx, dword [ebp - 0x10]
sub edx, 3
push edx
call fcn.0040bed0
add esp, 0x18
mov eax, dword [0x7f4e04]
sub eax, 0xd
push eax
mov ecx, dword [ebp - 0x48]
sub ecx, 0x4a
push ecx
mov edx, dword [0x7f4cc8]
add edx, 0x27
push edx
mov eax, dword [ebp - 0x48]
add eax, 7
push eax
mov ecx, dword [ebp - 0x2c]
sub ecx, 0x4d
push ecx
call fcn.004200f0
add esp, 0x14
mov dword [ebp - 0x4c], 0
jmp 0x423d36
mov edx, dword [ebp - 0x4c]
add edx, 1
mov dword [ebp - 0x4c], edx
mov eax, dword [0x7f4cdc]
sub eax, 0xd
cmp dword [ebp - 0x4c], eax
jge 0x423d4e
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
jmp 0x423d2d
mov edx, dword [ebp + 0x1c]
xor edx, 0xf6bd
xor edx, 0x5777eb85
mov eax, 0xe7a8
sub eax, dword [ebp + 0x10]
xor eax, 0x3151
mov dword [eax + str.gXaVUxJhTqs], edx
mov ecx, dword [ebp - 4]
sub ecx, 0x29
push ecx
mov edx, dword [0x7f4dd4]
sub edx, 8
push edx
mov eax, dword [ebp - 0x78]
sub eax, 0x47
push eax
mov ecx, dword [0x7f4e00]
sub ecx, 0x40
push ecx
mov edx, dword [ebp - 0x54]
add edx, 0x36
push edx
call fcn.0041edc0
add esp, 0x14
mov eax, dword [ebp - 0x10]
add eax, 0x3a
push eax
mov ecx, dword [ebp - 0x14]
sub ecx, 0x25
push ecx
mov edx, dword [ebp - 0x34]
add edx, 9
push edx
mov eax, dword [0x7f4dd4]
add eax, 7
push eax
mov ecx, dword [ebp - 0x10]
sub ecx, 3
push ecx
mov edx, dword [ebp - 0x14]
add edx, 9
push edx
mov eax, dword [ebp - 0x38]
sub eax, 0x23
push eax
call fcn.00416ec0
add esp, 0x1c
mov dword [ebp - 0x50], 0
jmp 0x423dee
mov ecx, dword [ebp - 0x50]
add ecx, 1
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0xc]
sub edx, 0x2c
cmp dword [ebp - 0x50], edx
jge 0x423e1a
mov eax, dword [ebp - 0x30]
xor eax, dword [ebp - 0x54]
cmp eax, dword [0x7f4dac]
jge 0x423e18
mov ecx, dword [ebp - 0x58]
cmp ecx, dword [ebp - 0x24]
jne 0x423e18
mov edx, dword [ebp - 0x7c]
add edx, 1
mov dword [ebp - 0x7c], edx
jmp 0x423de5
mov dword [ebp - 0x5c], 0
jmp 0x423e2c
mov eax, dword [ebp - 0x5c]
add eax, 1
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 8]
sub ecx, 0x18
cmp dword [ebp - 0x5c], ecx
jge 0x423e42
mov edx, dword [ebp - 0x2c]
sub edx, 1
mov dword [ebp - 0x2c], edx
jmp 0x423e23
mov eax, dword [ebp + 8]
sub eax, 0x1070d
xor eax, 0xab8f5738
mov ecx, dword [ebp + 0x28]
xor ecx, 0xdbff
xor ecx, 0x8192
mov dword [ecx + str.gXaVUxJhTqs], eax
mov edx, dword [ebp - 0x24]
sub edx, 0x4d
push edx
mov eax, dword [0x7f4cdc]
sub eax, 8
push eax
mov ecx, dword [ebp - 0x38]
sub ecx, 1
push ecx
mov edx, dword [0x7f4da8]
add edx, 0x1d
push edx
mov eax, dword [ebp - 0x30]
sub eax, 0xb
push eax
call fcn.004200f0
add esp, 0x14
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov eax, str.gXaVUxJhTqs
jmp 0x42400a
mov esp, ebp
pop ebp
ret