Function at 0x430120
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa00
mov esi, esp
push 0x1000
call fcn.0040c710
add esp, 4
mov dword [esi + 0x1c], eax
mov dword [esi + 0x714], 0x7f2e1436
mov dword [esi + 0x718], 0xd5a596d
mov dword [esi + 0x71c], 0xc120
mov byte [esi + 0x720], 0
mov eax, 0x1699dbb2
mov ecx, 0x4d
movzx edi, byte [esi + eax - 0x1699d49e]
mov edx, ecx
xor edx, eax
and edx, edi
xor edx, eax
mov edi, edx
xor edi, 0x71014a7b
and edx, 0x6989184
add edx, edx
sub edx, edi
add edx, 0xef98db1b
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
add dl, 0xe5
mov byte [esi + eax - 0x1699d49e], dl
inc eax
dec ecx
cmp eax, 0x1699dbbf
jne 0x430170
mov eax, dword [0x44b6c4]
mov dword [esi + 4], eax
mov dword [esi + 0x414], 0xc82e3416
mov dword [esi + 0x418], 0xfaf8ffff
mov dword [esi + 0x41c], 0xe6f0f4fb
mov dword [esi + 0x420], 0xe9e9fcf0
mov word [esi + 0x424], 0x39d6
mov byte [esi + 0x426], 0x1e
mov word [esi + 0x427], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
and eax, 4
mov edi, edx
xor edi, eax
and eax, edx
xor edi, 0xc2
lea eax, [edi + eax*2]
xor al, byte [esi + edx + 0x414]
add al, 0x36
mov byte [esi + edx + 0x414], al
inc edx
add ecx, 2
cmp edx, 0x15
jne 0x430210
mov eax, dword [str.HpOoIh___topgcr]
mov dword [esi + 8], eax
mov dword [esi + 0x9c], 0xc2f42b11
mov dword [esi + 0xa0], 0xd4d427cf
mov dword [esi + 0xa4], 0xed2205cd
mov dword [esi + 0xa8], 0x29fedff9
mov dword [esi + 0xac], 0x26292837
mov dword [esi + 0xb0], 0x243f262a
mov dword [esi + 0xb4], 0xecc4263a
mov dword [esi + 0xb8], 0x2a2511d0
mov dword [esi + 0xbc], 0x3d3106f6
mov dword [esi + 0xc0], 0x3432c73c
mov dword [esi + 0xc4], 0xc1e42e3d
mov dword [esi + 0xc8], 0xe150be0
mov dword [esi + 0xcc], 0x609040f
mov dword [esi + 0xd0], 0x190d0216
mov dword [esi + 0xd4], 0xe71e020a
mov dword [esi + 0xd8], 0x63aefc3
mov dword [esi + 0xdc], 0x3415181f
mov dword [esi + 0xe0], 0xe38e7c6
mov dword [esi + 0xe4], 0xc71e1713
mov dword [esi + 0xe8], 0x71634ee0
mov dword [esi + 0xec], 0x99b29b9c
mov dword [esi + 0xf0], 0xb9b8a7b6
mov dword [esi + 0xf4], 0x4592a082
mov dword [esi + 0xf8], 0x8da85347
mov byte [esi + 0xfc], 0xec
mov byte [esi + 0x101], 0
mov dword [esi + 0xfd], 0
xor edx, edx
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, edx
and ebx, 0xe6
mov eax, edi
xor eax, 0xab089273
add eax, ebx
lea ecx, [eax + eax]
not ecx
add ecx, eax
mov ebx, eax
not ebx
and ebx, ecx
lea ecx, [ebx + ebx]
not ecx
add ecx, ebx
not ebx
or ebx, ecx
movzx ecx, byte [esi + edi + 0x9c]
and ebx, ecx
or eax, ecx
xor eax, ebx
add al, 0xc1
mov byte [esi + edi + 0x9c], al
inc edi
add edx, 2
cmp edi, 0x66
jne 0x430360
movzx edx, byte [esi + 0x9c]
mov eax, dword [esi + 0x1c]
mov edi, eax
test dl, dl
je 0x4303db
lea ebx, [esi + 0x9d]
mov edi, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [ebx]
inc ebx
test dl, dl
jne 0x4303d0
mov byte [edi], 0
mov ecx, dword [esi + 8]
movzx edx, byte [ecx]
test dl, dl
je 0x4303fd
inc ecx
mov eax, dword [esi + 4]
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x4303f0
jmp 0x430400
mov eax, dword [esi + 4]
mov byte [edi], 0
movzx ecx, byte [esi + 0x414]
test cl, cl
je 0x43042b
lea edx, [esi + 0x415]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x430420
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x43044b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x430440
mov byte [edi], 0
movzx eax, byte [esi + 0x714]
test al, al
je 0x43046b
lea ecx, [esi + 0x715]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x430460
mov byte [edi], 0
push 0
call fcn.00445700
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44f8c4]