Function at 0x424140
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x2e8
mov esi, esp
mov ebx, dword [ebp + 0xc]
lea eax, [0x44c8f4]
mov dword [esi + 0x274], eax
mov al, byte [esi + 0xa4]
mov byte [esi + 0xbc], al
mov byte [esi + 0xa8], 0x37
mov byte [esi + 0xa9], 0x89
mov byte [esi + 0xaa], 0x2b
mov byte [esi + 0xab], 0x8f
mov byte [esi + 0xac], 5
mov byte [esi + 0xad], 0x8d
mov byte [esi + 0xae], 0xf6
mov byte [esi + 0xaf], 0x83
mov byte [esi + 0xb0], 0xf2
mov byte [esi + 0xb1], 0x81
mov byte [esi + 0xb2], 0x22
mov byte [esi + 0xb3], 0x87
mov byte [esi + 0xb4], 0x22
mov byte [esi + 0xb5], 0x85
mov byte [esi + 0xb6], 0x9a
mov byte [esi + 0xb7], 0x9b
mov eax, 0x10
mov byte [esi + eax + 0xa8], 0
add eax, 1
cmp eax, 0x14
jne 0x4241e1
xor eax, eax
cmp eax, 0x14
jae 0x424226
mov dl, byte [esi + eax + 0xa8]
mov edi, eax
xor edi, 0xdd
mov ecx, eax
or ecx, 0x22
and ecx, edi
mov edi, eax
or edi, 0x22
add ecx, edi
xor cl, dl
add cl, 0x56
mov byte [esi + eax + 0xa8], cl
add eax, 1
jmp 0x4241f3
lea eax, [esi + 0xa8]
sub esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.0041c9a0
add esp, 0xc
and al, 1
movzx ebx, al
mov al, byte [esi + 0xa0]
mov byte [esi + 0xc0], al
mov byte [esi + 0x13c], 0x53
mov byte [esi + 0x13d], 0xf1
mov byte [esi + 0x13e], 0x5f
mov byte [esi + 0x13f], 0xf3
mov byte [esi + 0x140], 0x4e
mov byte [esi + 0x141], 0xfd
mov byte [esi + 0x142], 0x42
mov byte [esi + 0x143], 0xff
mov byte [esi + 0x144], 0x81
mov byte [esi + 0x145], 0xf9
mov byte [esi + 0x146], 0x8c
mov byte [esi + 0x147], 0xfb
mov byte [esi + 0x148], 0x68
mov byte [esi + 0x149], 0xc5
mov byte [esi + 0x14a], 0x64
mov byte [esi + 0x14b], 0xc7
mov byte [esi + 0x14c], 0xc0
mov byte [esi + 0x14d], 0xc1
mov eax, 0x12
mov byte [esi + eax + 0x13c], 0
add eax, 1
cmp eax, 0x17
jne 0x4242d9
xor eax, eax
cmp eax, 0x17
jae 0x424331
movzx edx, byte [esi + eax + 0x13c]
mov dword [esi + 0x154], edx
mov ecx, 0xab
sub ecx, eax
or ecx, edx
mov edx, 0xab
sub edx, eax
mov edi, 0xab
sub edi, eax
or edx, edi
and edx, dword [esi + 0x154]
xor ecx, 0xffffffff
or edx, ecx
add dl, 0x5c
mov byte [esi + eax + 0x13c], dl
add eax, 1
jmp 0x4242eb
lea eax, [esi + 0x13c]
sub esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041c9a0
add esp, 0xc
and al, 1
movzx eax, al
mov ecx, eax
and ecx, ebx
xor ecx, 0xffffffff
add ebx, eax
add ebx, 1
add ebx, ecx
cmp ebx, 0
setne byte [esi + 3]
mov al, byte [esi + 0x9c]
mov byte [esi + 0xc4], al
mov byte [esi + 0x110], 0xe6
mov byte [esi + 0x111], 1
mov byte [esi + 0x112], 0xed
mov byte [esi + 0x113], 3
mov byte [esi + 0x114], 0xf6
mov byte [esi + 0x115], 5
mov byte [esi + 0x116], 0xeb
mov byte [esi + 0x117], 7
mov byte [esi + 0x118], 0xe0
mov byte [esi + 0x119], 9
mov byte [esi + 0x11a], 0xe3
mov byte [esi + 0x11b], 0xb
mov byte [esi + 0x11c], 0xff
mov byte [esi + 0x11d], 0xd
mov byte [esi + 0x11e], 0xfa
mov byte [esi + 0x11f], 0xf
mov byte [esi + 0x120], 0xff
mov byte [esi + 0x121], 0x11
mov byte [esi + 0x122], 0xe0
mov byte [esi + 0x123], 0x13
mov byte [esi + 0x124], 0xed
mov byte [esi + 0x125], 0x15
mov byte [esi + 0x126], 0x38
mov byte [esi + 0x127], 0x17
mov byte [esi + 0x128], 0xeb
mov byte [esi + 0x129], 0x19
mov byte [esi + 0x12a], 0xeb
mov byte [esi + 0x12b], 0x1b
mov byte [esi + 0x12c], 0xf0
mov byte [esi + 0x12d], 0x1d
mov byte [esi + 0x12e], 0xf7
mov byte [esi + 0x12f], 0x1f
mov byte [esi + 0x130], 0xd4
mov byte [esi + 0x131], 0x21
mov byte [esi + 0x132], 0xc7
mov byte [esi + 0x133], 0x23
mov byte [esi + 0x134], 0x24
mov byte [esi + 0x135], 0x25
mov eax, 0x26
mov byte [esi + eax + 0x110], 0
add eax, 1
cmp eax, 0x29
jne 0x424488
xor ebx, ebx
cmp ebx, 0x29
jae 0x4244db
mov cl, byte [esi + ebx + 0x110]
movzx edi, cl
mov eax, ebx
shl eax, 1
and eax, 0x45d7a6f8
mov edx, ebx
xor edx, 0xa2ebd37c
add edx, eax
add edx, 0x357526c4
mov eax, edx
and eax, edi
shl eax, 1
sub edx, eax
add dl, cl
add dl, 0xc0
mov byte [esi + ebx + 0x110], dl
add ebx, 1
jmp 0x42449a
lea eax, [esi + 0x110]
sub esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041c9a0
add esp, 0xc
and al, 1
movzx eax, al
mov cl, byte [esi + 3]
and cl, 1
movzx ecx, cl
or ecx, eax
cmp ecx, 0
setne bl
mov al, byte [esi + 0x98]
mov byte [esi + 0xc8], al
mov byte [esi + 0x24], 0x11
mov byte [esi + 0x25], 0xfb
mov byte [esi + 0x26], 0x6b
mov byte [esi + 0x27], 0xf9
mov byte [esi + 0x28], 0x69
mov byte [esi + 0x29], 0xe7
mov byte [esi + 0x2a], 0x73
mov byte [esi + 0x2b], 0xe5
mov byte [esi + 0x2c], 0x73
mov byte [esi + 0x2d], 0xe3
mov byte [esi + 0x2e], 9
mov byte [esi + 0x2f], 0xe1
mov byte [esi + 0x30], 0x7d
mov byte [esi + 0x31], 0xef
mov byte [esi + 0x32], 0x3c
mov byte [esi + 0x33], 0xed
mov byte [esi + 0x34], 0x71
mov byte [esi + 0x35], 0xeb
mov byte [esi + 0x36], 0x75
mov byte [esi + 0x37], 0xe9
mov byte [esi + 0x38], 0x7c
mov byte [esi + 0x39], 0x97
mov byte [esi + 0x3a], 1
mov byte [esi + 0x3b], 0x95
mov byte [esi + 0x3c], 8
mov byte [esi + 0x3d], 0x93
mov byte [esi + 0x3e], 0x79
mov byte [esi + 0x3f], 0x91
mov byte [esi + 0x40], 0x90
mov byte [esi + 0x41], 0x9f
mov eax, 0x1e
mov byte [esi + eax + 0x24], 0
add eax, 1
cmp eax, 0x20
jne 0x42459c
xor eax, eax
cmp eax, 0x20
jae 0x4245c7
mov cl, byte [esi + eax + 0x24]
mov dl, al
add dl, 0x2b
xor dl, cl
add dl, 0x29
mov byte [esi + eax + 0x24], dl
add eax, 1
jmp 0x4245ab
lea eax, [esi + 0x24]
sub esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041c9a0
add esp, 0xc
and al, 1
movzx ecx, al
and bl, 1
movzx edx, bl
mov eax, edx
or eax, ecx
xor eax, 0xffffffff
xor edx, 0xffffffff
xor ecx, 0xffffffff
and edx, ecx
or eax, edx
xor eax, 0xffffffff
cmp eax, 0
setne byte [esi + 2]
mov al, byte [esi + 0x78]
mov byte [esi + 0xcc], al
mov byte [esi + 0x7c], 0x58
mov byte [esi + 0x7d], 0xcb
mov byte [esi + 0x7e], 0x5b
mov byte [esi + 0x7f], 0xc9
mov byte [esi + 0x80], 0x51
mov byte [esi + 0x81], 0xc7
mov byte [esi + 0x82], 0x51
mov byte [esi + 0x83], 0xc5
mov byte [esi + 0x84], 0x56
mov byte [esi + 0x85], 0xc3
mov byte [esi + 0x86], 0x4f
mov byte [esi + 0x87], 0xc1
mov byte [esi + 0x88], 0x12
mov byte [esi + 0x89], 0xbf
mov byte [esi + 0x8a], 0x28
mov byte [esi + 0x8b], 0xbd
mov byte [esi + 0x8c], 0x31
mov byte [esi + 0x8d], 0xbb
mov byte [esi + 0x8e], 0x2b
mov byte [esi + 0x8f], 0xb9
mov byte [esi + 0x90], 0x2a
mov byte [esi + 0x91], 0xb7
mov byte [esi + 0x92], 0xb6
mov byte [esi + 0x93], 0xb5
mov eax, 0x18
mov byte [esi + eax + 0x7c], 0
add eax, 1
cmp eax, 0x1c
jne 0x4246b6
xor eax, eax
cmp eax, 0x1c
jae 0x424706
movzx edx, byte [esi + eax + 0x7c]
mov ecx, eax
add ecx, 0xb3
and ecx, edx
mov edi, 0x4c
sub edi, eax
and edi, edx
mov ebx, 0xe82caf4c
sub ebx, eax
xor ebx, edx
sub ebx, edx
add ebx, edi
or ecx, ebx
mov edx, ecx
shl edx, 1
xor edx, 0xffffffff
add ecx, edx
add cl, 0x81
mov byte [esi + eax + 0x7c], cl
add eax, 1
jmp 0x4246c5
lea eax, [esi + 0x7c]
sub esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov ebx, dword [ebp + 0xc]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.0041c9a0
add esp, 0xc
and al, 1
movzx eax, al
mov cl, byte [esi + 2]
and cl, 1
movzx ecx, cl
or ecx, eax
cmp ecx, 0
setne byte [esi + 1]
mov al, byte [esi + 0x74]
mov byte [esi + 0xd0], al
mov byte [esi + 8], 0xd4
mov byte [esi + 9], 0x47
mov byte [esi + 0xa], 0xd2
mov byte [esi + 0xb], 0x41
mov byte [esi + 0xc], 0xa3
mov byte [esi + 0xd], 0x43
mov byte [esi + 0xe], 0xaf
mov byte [esi + 0xf], 0x4d
mov byte [esi + 0x10], 0xa3
mov byte [esi + 0x11], 0x4f
mov byte [esi + 0x12], 0xd3
mov byte [esi + 0x13], 0x49
mov byte [esi + 0x14], 0x9e
mov byte [esi + 0x15], 0x4b
mov byte [esi + 0x16], 0xd7
mov byte [esi + 0x17], 0x75
mov byte [esi + 0x18], 0xe7
mov byte [esi + 0x19], 0x77
mov byte [esi + 0x1a], 0xe2
mov byte [esi + 0x1b], 0x71
mov byte [esi + 0x1c], 0x9b
mov byte [esi + 0x1d], 0x73
mov byte [esi + 0x1e], 0xee
mov byte [esi + 0x1f], 0x7d
mov byte [esi + 0x20], 0x93
mov byte [esi + 0x21], 0x7f
mov byte [esi + 0x22], 0x7e
mov byte [esi + 0x23], 0x79
xor eax, eax
cmp eax, 0x1c
jae 0x4247ee
movzx edi, byte [esi + eax + 8]
mov edx, eax
add edx, 0x11
mov ecx, 0xee
sub ecx, eax
mov ebx, 0xee
sub ebx, eax
and ecx, ebx
mov ebx, dword [ebp + 0xc]
or edx, edi
xor edi, 0xffffffff
or ecx, edi
and ecx, edx
add cl, 0xab
mov byte [esi + eax + 8], cl
add eax, 1
jmp 0x4247b7
call fcn.0040e5f0
call fcn.0040e5f0
sub esp, 0xc
lea eax, [esi + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0041c9a0
add esp, 0xc
movzx eax, al
xor edx, edx
mov cl, byte [esi + 1]
mov dl, cl
and edx, 1
mov ecx, eax
not ecx
mov ebx, edx
and ebx, ecx
mov ecx, edx
xor ecx, eax
add edx, ecx
sub edx, ebx
setne al
mov dword [esi + 0x48], eax
xor eax, eax
cmp dword [ebp + 0x10], 0
sete al
mov dword [esi + 0x270], eax
mov eax, dword [esi + 0x274]
mov ecx, dword [esi + 0x270]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x17c], eax
push eax
mov eax, esp
mov dword [esi + 0x184], eax
mov dword [eax], 0x44c8fc
push eax
mov dword [esi + 0x178], esp
push eax
mov eax, esp
mov dword [esi + 0x18c], eax
mov dword [eax], 0x44c904
push eax
mov dword [esi + 0x188], esp
push eax
mov eax, esp
mov dword [esi + 0x180], eax
mov dword [eax], 0x44c790
push eax
mov eax, esp
mov dword [esi + 0x174], eax
mov dword [eax], 0x36
push eax
mov eax, esp
mov dword [esi + 0x194], eax
mov dword [eax], 0x44c90c
push eax
mov dword [esi + 0x190], esp
push eax
mov eax, esp
mov dword [esi + 0x19c], eax
mov dword [eax], 0x44c914
push eax
mov dword [esi + 0x198], esp
push eax
mov eax, esp
mov dword [esi + 0x1ac], eax
mov dword [eax], 0x44c790
push eax
mov eax, esp
mov dword [esi + 0x1a0], eax
mov dword [eax], 0x1e
push eax
mov eax, esp
mov dword [esi + 0x1b4], eax
mov dword [eax], 0x44c790
push eax
mov eax, esp
mov dword [esi + 0x1a8], eax
mov dword [eax], 0x1f
push eax
mov eax, esp
mov dword [esi + 0x1b0], eax
mov dword [eax], 0x44c91c
push eax
mov dword [esi + 0x1a4], esp
push eax
mov ecx, esp
mov dword [esi + 0x1cc], ecx
mov dword [ecx], 0x44c924
push eax
mov dword [esi + 0x1c4], esp
push eax
mov ecx, esp
mov dword [esi + 0x1c8], ecx
mov dword [ecx], 0x44c790
push eax
mov ecx, esp
mov dword [esi + 0x1c0], ecx
mov dword [ecx], 0x22
push eax
mov ecx, esp
mov dword [esi + 0x244], ecx
mov dword [ecx], 0x44c92c
push eax
mov dword [esi + 0x240], esp
push eax
mov ecx, esp
mov dword [esi + 0x23c], ecx
mov dword [ecx], 0x44c790
push eax
mov ecx, esp
mov dword [esi + 0x238], ecx
mov dword [ecx], 0x2a
push eax
mov ecx, esp
mov dword [esi + 0x234], ecx
mov dword [ecx], 0x44c934
push eax
mov dword [esi + 0x230], esp
push eax
mov ecx, esp
mov dword [esi + 0x22c], ecx
mov dword [ecx], 0x44c790
push eax
mov ecx, esp
mov dword [esi + 0x228], ecx
mov dword [ecx], 0x29
push eax
mov ecx, esp
mov dword [esi + 0x224], ecx
mov dword [ecx], 0x44c93c
push eax
mov dword [esi + 0x220], esp
push eax
mov ecx, esp
mov dword [esi + 0x21c], ecx
mov dword [ecx], 0x44c790
push eax
mov ecx, esp
mov dword [esi + 0x218], ecx
mov dword [ecx], 0x28
push eax
mov ecx, esp
mov dword [esi + 0x214], ecx
mov dword [ecx], 0x44c790
push eax
mov ecx, esp
mov dword [esi + 0x210], ecx
mov dword [ecx], 0x29
push eax
mov ecx, esp
mov dword [esi + 0x208], ecx
mov dword [ecx], 0x44c790
push eax
mov ecx, esp
mov dword [esi + 0x1f0], ecx
mov dword [ecx], 0x22
push eax
mov ecx, esp
mov dword [esi + 0x204], ecx
mov dword [ecx], 0x44c790
push eax
mov ecx, esp
mov dword [esi + 0x1ec], ecx
mov dword [ecx], 0x2b
push eax
mov ecx, esp
mov dword [esi + 0x1fc], ecx
mov dword [ecx], 0x44c944
push eax
mov dword [esi + 0x1e8], esp
push eax
mov ecx, esp
mov dword [esi + 0x20c], ecx
mov dword [ecx], 0x44c94c
push eax
mov dword [esi + 0x200], esp
push eax
mov ecx, esp
mov dword [esi + 0x1f8], ecx
mov dword [ecx], 0x44c954
push eax
mov dword [esi + 0x1e4], esp
push eax
mov ecx, esp
mov dword [esi + 0x1f4], ecx
mov dword [ecx], 0x44c790
push eax
mov ecx, esp
mov dword [esi + 0x1e0], ecx
mov dword [ecx], 0x2f
push eax
mov ecx, esp
mov dword [esi + 0x1dc], ecx
mov dword [ecx], 0x44c790
push eax
mov ecx, esp
mov dword [esi + 0x1d8], ecx
mov dword [ecx], 0x30
push eax
mov ecx, esp
mov dword [esi + 0x1d4], ecx
mov dword [ecx], 0x44c790
push eax
mov ecx, esp
mov dword [esi + 0x1d0], ecx
mov dword [ecx], 0x31
push eax
mov ecx, esp
mov dword [esi + 0x26c], ecx
mov dword [ecx], 0x44c790
push eax
mov ecx, esp
mov dword [esi + 0x260], ecx
mov dword [ecx], 0x32
push eax
mov ecx, esp
mov dword [ecx], 0x44c95c
push eax
mov dword [esi + 0x258], esp
push eax
mov edx, esp
mov dword [edx], 0x44c790
push eax
mov edi, esp
mov dword [esi + 0x254], edi
mov dword [edi], 0x34
push eax
mov edi, esp
mov dword [esi + 0x250], edi
mov dword [edi], 0x44c790
push eax
mov edi, esp
mov dword [esi + 0x248], edi
mov dword [edi], 0x35
push eax
mov edi, esp
mov dword [esi + 0x25c], edi
mov dword [edi], 0x44c790
push eax
mov edi, esp
mov dword [esi + 0x24c], edi
mov dword [edi], 0x36
push eax
mov ebx, esp
mov dword [ebx], 0x44c790
push eax
mov edi, esp
mov dword [edi], 0x19
push eax
mov eax, esp
mov dword [esi + 0x1bc], eax
mov dword [eax], 0x44c790
push eax
mov eax, esp
mov dword [eax], 0x2c
jmp dword [esi + 0x17c]