Function at 0x46a0f0
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ecefc
mov eax, dword fs:[0]
push eax
sub esp, 0x138
mov eax, dword [0x52610c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov ebx, dword [ebp + 8]
mov dword [ebp - 4], 0
push 0
mov dword [ebp - 0x13c], 0
push 0
mov dword [ebp - 0x138], ebx
mov dword [ebp - 0x144], ebx
mov dword [ebx], 0
mov dword [ebx + 4], 0
call fcn.00410a70
mov dword [ebx], eax
mov dword [ebp - 4], 0
push 0
push 0
mov dword [ebp - 0x13c], 1
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0
call fcn.00410a70
mov edi, eax
mov dword [ebp - 0x118], edi
mov dword [ebp - 0x120], edi
lea eax, [ebp - 0x130]
mov dword [ebp - 4], 1
push eax
mov ecx, esi
call fcn.0046a8a0
mov byte [ebp - 4], 2
mov ebx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x134], ebx
mov dword [ebp - 0x124], eax
cmp ebx, eax
je 0x46a56c
nop dword [eax]
push 0xffffffffffffffff
push 0
push ebx
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x6c], 0xf
mov dword [ebp - 0x70], 0
mov byte [ebp - 0x80], 0
call fcn.00409690
mov dword [ebp - 0x28], 0x460068
mov dword [ebp - 0x24], 0xb0009
mov dword [ebp - 0x20], 0xe
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x26]
xor eax, ecx
mov word [ebp - 0x1a], ax
xor edx, ecx
mov eax, dword [ebp - 0x22]
xor eax, ecx
mov word [ebp - 0x1c], dx
mov word [ebp - 0x18], ax
mov eax, dword [ebp - 0x20]
xor eax, ecx
mov dword [ebp - 0x84], 7
mov word [ebp - 0x16], ax
xor eax, eax
mov word [ebp - 0x14], ax
mov dword [ebp - 0x88], eax
mov word [ebp - 0x98], ax
test dx, dx
jne 0x46a255
xor ecx, ecx
jmp 0x46a26f
lea ecx, [ebp - 0x1c]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46a260
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x98]
call fcn.00403e20
mov ch, 0x36
mov dword [ebp - 0x50], 0x23240b57
mov bl, ch
mov dword [ebp - 0x4c], 0x363a3632
mov byte [ebp - 0x111], bl
mov cl, 0x24
mov bl, 0x27
mov dword [ebp - 0x48], 0x242727
mov bh, bl
mov al, 0xb
mov byte [ebp - 0x112], bh
mov dl, 0x23
mov bh, cl
mov ah, 0x32
mov dh, 0x3a
mov byte [ebp - 0x113], bh
mov byte [ebp - 4], 6
xor al, byte [ebp - 0x50]
xor cl, byte [ebp - 0x50]
mov bh, byte [ebp - 0x112]
mov byte [ebp - 0x44], al
mov al, byte [ebp - 0x111]
mov byte [ebp - 0x43], cl
mov cl, byte [ebp - 0x50]
xor al, cl
mov byte [ebp - 0x3a], 0
mov byte [ebp - 0x3e], al
xor ah, cl
mov al, byte [ebp - 0x113]
xor dl, cl
xor al, cl
mov byte [ebp - 0x41], ah
mov byte [ebp - 0x3b], al
xor ch, cl
lea eax, [ebp - 0x44]
mov byte [ebp - 0x42], dl
push eax
lea eax, [ebp - 0x80]
mov byte [ebp - 0x40], ch
push eax
lea eax, [ebp - 0x68]
xor dh, cl
xor bl, cl
mov byte [ebp - 0x3f], dh
xor bh, cl
mov byte [ebp - 0x3d], bl
push eax
mov byte [ebp - 0x3c], bh
call fcn.00454670
add esp, 8
mov byte [ebp - 4], 7
mov edx, eax
lea ecx, [ebp - 0xc8]
call fcn.0041fd00
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 8
push 1
push ecx
mov edx, eax
lea ecx, [ebp - 0x34]
call fcn.0042a560
add esp, 0xc
mov eax, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0x134]
cmp eax, 8
jb 0x46a36e
inc eax
lea ecx, [ebp - 0xc8]
push eax
push dword [ebp - 0xc8]
call fcn.00403f90
xor eax, eax
mov dword [ebp - 0xb4], 7
mov dword [ebp - 0xb8], 0
mov word [ebp - 0xc8], ax
mov eax, dword [ebp - 0x54]
cmp eax, 0x10
jb 0x46a3a0
inc eax
lea ecx, [ebp - 0x68]
push eax
push dword [ebp - 0x68]
call fcn.004099a0
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], 0
mov byte [ebp - 0x68], 0
xorps xmm0, xmm0
mov word [ebp - 0x47], 0
movq qword [ebp - 0x4f], xmm0
mov byte [ebp - 0x45], 0
mov eax, dword [ebp - 0x84]
cmp eax, 8
jb 0x46a3e2
inc eax
lea ecx, [ebp - 0x98]
push eax
push dword [ebp - 0x98]
call fcn.00403f90
xor eax, eax
mov dword [ebp - 0x84], 7
mov dword [ebp - 0x88], 0
mov word [ebp - 0x98], ax
mov byte [ebp - 4], 0xe
xorps xmm0, xmm0
mov edi, dword [ebp - 0x34]
movq qword [ebp - 0x26], xmm0
mov word [ebp - 0x1e], ax
mov esi, dword [edi]
cmp esi, edi
je 0x46a50f
nop dword [eax]
xor ecx, ecx
mov dword [ebp - 0x9c], 7
push 0xffffffffffffffff
push ecx
lea eax, [esi + 0x10]
mov word [ebp - 0xb0], cx
push eax
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0xa0], 0
call fcn.00403ab0
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 0xf
push eax
mov eax, dword [ebp - 0x118]
push dword [eax + 4]
push eax
call fcn.00411060
mov ecx, dword [ebp - 0x11c]
mov edx, eax
mov eax, 0x7fffffe
sub eax, ecx
cmp eax, 1
jb 0x46a64e
mov eax, dword [ebp - 0x118]
inc ecx
mov dword [ebp - 0x11c], ecx
mov dword [eax + 4], edx
mov eax, dword [edx + 4]
mov byte [ebp - 4], 0xe
mov dword [eax], edx
mov eax, dword [ebp - 0x9c]
cmp eax, 8
jb 0x46a4b8
inc eax
lea ecx, [ebp - 0xb0]
push eax
push dword [ebp - 0xb0]
call fcn.00403f90
cmp byte [esi + 0xd], 0
jne 0x46a4f8
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x46a4dd
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x46a4f8
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x46a4d1
jmp 0x46a4f8
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x46a4f6
cmp esi, dword [eax + 8]
jne 0x46a4f6
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x46a4e6
mov esi, eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x118], eax
cmp esi, edi
jne 0x46a420
mov edi, dword [ebp - 0x34]
push edi
push dword [edi]
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0x34]
call fcn.0042bc70
push dword [ebp - 0x34]
call fcn.004a0500
mov byte [ebp - 4], 2
add esp, 4
mov eax, dword [ebp - 0x6c]
cmp eax, 0x10
jb 0x46a545
inc eax
lea ecx, [ebp - 0x80]
push eax
push dword [ebp - 0x80]
call fcn.004099a0
add ebx, 0x18
mov dword [ebp - 0x134], ebx
cmp ebx, dword [ebp - 0x124]
jne 0x46a1d0
mov eax, dword [ebp - 0x12c]
mov ebx, dword [ebp - 0x130]
mov edi, dword [ebp - 0x118]
mov esi, dword [edi]
cmp esi, edi
je 0x46a7fb
nop word [eax + eax]
xor ecx, ecx
mov dword [ebp - 0x6c], 7
push 0xffffffffffffffff
push ecx
lea eax, [esi + 8]
mov word [ebp - 0x80], cx
push eax
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x70], 0
call fcn.00403ab0
push ecx
lea edx, [ebp - 0x80]
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x68]
call fcn.0041fba0
add esp, 4
push eax
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0x11
push eax
call fcn.0046b000
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x54]
cmp eax, 0x10
jb 0x46a5e0
inc eax
lea ecx, [ebp - 0x68]
push eax
push dword [ebp - 0x68]
call fcn.004099a0
cmp dword [ebp - 0xe8], 0
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], 0
mov byte [ebp - 0x68], 0
jbe 0x46a658
cmp dword [ebp - 0xe4], 0x10
lea edi, [ebp - 0xf8]
cmovae edi, dword [ebp - 0xf8]
call fcn.004c30e4
push 0xa
mov dword [eax], 0
lea eax, [ebp - 0x124]
push eax
push edi
call fcn.004c8062
add esp, 0xc
mov ebx, eax
cmp edi, dword [ebp - 0x124]
je 0x46a893
call fcn.004c30e4
cmp dword [eax], 0x22
jne 0x46a65a
push str.stol_argument_out_of_range
call fcn.0049cefe
push str.list_T__too_long
call fcn.0049cede
xor ebx, ebx
test bl, 4
je 0x46a7bd
mov dh, 0x6e
mov dword [ebp - 0x38], 0x565c5c6e
mov ch, 0x5c
mov dword [ebp - 0x34], 0x5e5657
mov cl, 0x56
mov byte [ebp - 0x2a], 0
mov al, ch
mov bl, cl
mov dl, 0x57
mov ah, 0x5e
xor ch, dh
xor al, dh
xor cl, dh
mov byte [ebp - 0x30], ch
xor dl, dh
mov byte [ebp - 0x2f], al
xor bl, dh
mov byte [ebp - 0x2e], cl
xor ah, dh
mov byte [ebp - 0x2d], dl
mov byte [ebp - 0x2c], bl
mov byte [ebp - 0x2b], ah
test ch, ch
jne 0x46a6a9
xor edi, edi
jmp 0x46a6b9
lea edi, [ebp - 0x30]
lea ecx, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x46a6b0
sub edi, ecx
cmp dword [ebp - 0xcc], 0x10
lea ecx, [ebp - 0xe0]
mov ebx, dword [ebp - 0xd0]
mov eax, edi
cmovae ecx, dword [ebp - 0xe0]
cmp ebx, edi
cmovb eax, ebx
push eax
lea eax, [ebp - 0x30]
push eax
push ecx
call fcn.00413f70
add esp, 0xc
test eax, eax
jne 0x46a6f9
cmp edi, ebx
jbe 0x46a6f5
or eax, 0xffffffff
jmp 0x46a6f9
sbb eax, eax
neg eax
xor ecx, ecx
mov dword [ebp - 0x37], ecx
mov word [ebp - 0x33], cx
mov byte [ebp - 0x31], cl
test eax, eax
je 0x46a7bd
mov ah, 0x15
mov dword [ebp - 0x24], 0x70616615
mov al, 0x66
mov dword [ebp - 0x20], 0x2f7874
mov cl, 0x61
mov dl, 0x70
mov bl, 0x74
mov ch, 0x78
mov dh, 0x2f
xor al, ah
mov byte [ebp - 4], 0x14
mov byte [ebp - 0x1c], al
xor cl, ah
mov al, ah
mov byte [ebp - 0x1b], cl
xor dl, ah
mov byte [ebp - 0x16], 0
xor bl, ah
mov byte [ebp - 0x1a], dl
xor al, ch
mov byte [ebp - 0x19], bl
xor ah, dh
mov byte [ebp - 0x18], al
mov byte [ebp - 0x17], ah
lea eax, [ebp - 0xe0]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.0040e8a0
add esp, 0xc
mov byte [ebp - 4], 0x15
mov ebx, dword [ebp - 0x138]
push eax
mov edi, dword [ebx]
push dword [edi + 4]
push edi
call fcn.0045eed0
mov ecx, eax
mov eax, 0x7fffffe
sub eax, dword [ebx + 4]
cmp eax, 1
jb 0x46a64e
inc dword [ebx + 4]
mov dword [edi + 4], ecx
mov eax, dword [ecx + 4]
mov dword [eax], ecx
mov eax, dword [ebp - 0x54]
cmp eax, 0x10
jb 0x46a7b1
inc eax
lea ecx, [ebp - 0x68]
push eax
push dword [ebp - 0x68]
call fcn.004099a0
xor eax, eax
mov dword [ebp - 0x23], eax
mov word [ebp - 0x1f], ax
mov byte [ebp - 0x1d], al
lea ecx, [ebp - 0x110]
call fcn.0044b7e0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x6c]
cmp eax, 8
jb 0x46a7e1
inc eax
lea ecx, [ebp - 0x80]
push eax
push dword [ebp - 0x80]
call fcn.00403f90
mov esi, dword [esi]
cmp esi, dword [ebp - 0x118]
jne 0x46a580
mov eax, dword [ebp - 0x12c]
mov ebx, dword [ebp - 0x130]
test ebx, ebx
je 0x46a856
push dword [ebp - 0x140]
mov edx, eax
push ecx
mov ecx, ebx
call fcn.004140c0
mov ecx, dword [ebp - 0x128]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x130]
add esp, 8
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
call fcn.00414110
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0
lea ecx, [ebp - 0x120]
call fcn.00410a00
push dword [ebp - 0x120]
call fcn.004a0500
mov eax, dword [ebp - 0x138]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004a04d5
mov esp, ebp
pop ebp
ret 4
push str.invalid_stol_argument
call fcn.0049cebe
int3