Function at 0x440e40
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov esi, dword [ebp + 0x14]
mov eax, dword [0x484ec0]
test eax, eax
jne 0x442bc9
movzx eax, byte [0x475b40]
xor al, 0x6b
mov byte [0x475c10], al
movzx eax, byte [0x475b41]
xor al, 0xf1
mov byte [0x475c11], al
movzx eax, byte [0x475b42]
mov ecx, eax
add cl, al
and cl, 0xca
sub al, cl
add al, 0x65
mov byte [0x475c12], al
movzx eax, byte [0x475b43]
xor al, 0x91
mov byte [0x475c13], al
movzx eax, byte [0x475b44]
mov ecx, eax
not cl
or al, 0xe4
or cl, 0x1b
and cl, al
not cl
mov byte [0x475c14], cl
movzx eax, byte [0x475b45]
xor al, 0x92
mov byte [0x475c15], al
movzx eax, byte [0x475b46]
xor al, 0x97
mov byte [0x475c16], al
movzx eax, byte [0x475b47]
mov ecx, eax
add cl, al
and cl, 0x36
sub al, cl
add al, 0x1b
mov byte [0x475c17], al
movzx eax, byte [0x475b48]
mov ecx, eax
not cl
or al, 0xa2
or cl, 0x5d
and cl, al
not cl
mov byte [0x475c18], cl
movsd xmm0, qword [0x475b49]
xorps xmm0, xmmword [0x461590]
movlps qword [0x475c19], xmm0
movzx eax, byte [0x475b51]
mov ecx, eax
add cl, al
and cl, 0x24
sub al, cl
add al, 0x12
mov byte [0x475c21], al
movzx eax, byte [0x475b52]
mov ecx, eax
not cl
or al, 0x2c
or cl, 0xd3
and cl, al
not cl
mov byte [0x475c22], cl
movzx eax, byte [0x475b53]
xor al, 0xb1
mov byte [0x475c23], al
movzx eax, byte [0x475b54]
xor al, 0xb
mov byte [0x475c24], al
movzx eax, byte [0x475b55]
mov ecx, eax
add cl, al
and cl, 0xbe
sub al, cl
add al, 0xdf
mov byte [0x475c25], al
mov eax, 0x66fafcc0
xor eax, dword [0x475b56]
mov dword [0x475c26], eax
movzx eax, byte [0x475b5a]
mov ecx, eax
add cl, al
and cl, 0xde
sub al, cl
add al, 0xef
movsd xmm0, qword [0x475b5b]
xorps xmm0, xmmword [0x4615a0]
mov byte [0x475c2a], al
mov eax, 0xf2a2351a
xor eax, dword [0x475b63]
movlps qword [0x475c2b], xmm0
mov dword [0x475c33], eax
movzx eax, byte [str._tE7AoV]
mov ecx, eax
add cl, al
and cl, 0x60
sub al, cl
add al, 0x30
mov byte [0x475c37], al
movzx eax, byte [0x475b68]
xor al, 0x77
mov byte [0x475c38], al
movzx eax, byte [0x475b69]
mov ecx, eax
not cl
or cl, 0xf8
or al, 7
and al, cl
mov byte [0x475c39], al
movzx eax, byte [0x475b6a]
mov ecx, eax
add cl, al
and cl, 0xe6
sub al, cl
add al, 0x73
mov ecx, 0x50e6645e
xor ecx, dword [0x475b6b]
mov byte [0x475c3a], al
mov dword [0x475c3b], ecx
movzx eax, byte [0x475b6f]
xor al, 0x55
mov byte [0x475c3f], al
movzx eax, byte [0x475b70]
xor al, 7
mov byte [0x475c40], al
movzx eax, byte [0x475b71]
xor al, 0xbe
mov byte [0x475c41], al
movzx eax, byte [0x475b72]
mov ecx, eax
not cl
or cl, 0x82
or al, 0x7d
and al, cl
mov byte [0x475c42], al
movzx eax, byte [0x475b73]
mov ecx, eax
add cl, al
and cl, 0x94
sub al, cl
add al, 0xca
mov byte [0x475c43], al
mov eax, 0x10c7393
xor eax, dword [0x475b74]
mov dword [0x475c44], eax
movzx eax, byte [0x475b78]
mov ecx, eax
add cl, al
and cl, 0x8c
sub al, cl
add al, 0xc6
mov byte [0x475c48], al
mov eax, 0x13a46db0
xor eax, dword [0x475b79]
mov dword [0x475c49], eax
movzx eax, byte [0x475b7d]
xor al, 0xca
mov byte [0x475c4d], al
movzx eax, byte [0x475b7e]
xor al, 0xa1
mov byte [0x475c4e], al
movzx eax, byte [0x475b7f]
mov ecx, eax
add cl, al
and cl, 0x5a
sub al, cl
add al, 0xad
mov byte [0x475c4f], al
movzx eax, byte [0x475b80]
xor al, 0x64
mov byte [0x475c50], al
movzx eax, byte [0x475b81]
xor al, 0x3e
mov byte [0x475c51], al
movzx eax, byte [0x475b82]
mov ecx, eax
add cl, al
and cl, 0x6e
sub al, cl
add al, 0xb7
mov ecx, 0x262ddcc0
xor ecx, dword [0x475b83]
mov byte [0x475c52], al
mov dword [0x475c53], ecx
movzx eax, byte [str.YTm]
mov ecx, eax
add cl, al
and cl, 0xd8
sub al, cl
add al, 0x6c
mov byte [0x475c57], al
movzx eax, byte [0x475b88]
xor al, 0xfd
mov byte [0x475c58], al
movzx eax, byte [0x475b89]
xor al, 0x8f
mov byte [0x475c59], al
movzx eax, byte [0x475b8a]
mov ecx, eax
not cl
or cl, 0x98
or al, 0x67
and al, cl
mov byte [0x475c5a], al
movzx eax, byte [0x475b8b]
xor al, 0x5a
mov byte [0x475c5b], al
movzx eax, byte [0x475b8c]
xor al, 0x9d
mov byte [0x475c5c], al
movzx eax, byte [0x475b8d]
mov ecx, eax
add cl, al
and cl, 0xf6
sub al, cl
add al, 0x7b
mov byte [0x475c5d], al
movzx eax, byte [0x475b8e]
mov ecx, eax
not cl
or al, 0x3d
or cl, 0xc2
and cl, al
not cl
mov byte [0x475c5e], cl
movsd xmm0, qword [0x475b8f]
xorps xmm0, xmmword [0x4615b0]
movlps qword [0x475c5f], xmm0
movzx eax, byte [0x475b97]
mov ecx, eax
not cl
or cl, 0x63
or al, 0x9c
and al, cl
mov byte [0x475c67], al
movzx eax, byte [0x475b98]
xor al, 0xa6
mov byte [str._OX21Fvp], al
movzx eax, byte [0x475b99]
mov ecx, eax
add cl, al
and cl, 0x2c
sub al, cl
add al, 0x16
mov byte [0x475c69], al
mov eax, 0xaa4b6d3a
xor eax, dword [0x475b9a]
mov dword [0x475c6a], eax
movzx eax, byte [0x475b9e]
xor al, 0x5d
mov byte [0x475c6e], al
movzx eax, byte [0x475b9f]
xor al, 0xd2
mov byte [0x475c6f], al
movzx eax, byte [0x475ba0]
mov ecx, eax
add cl, al
and cl, 0x42
sub al, cl
add al, 0x21
mov byte [0x475c70], al
movzx eax, byte [0x475ba1]
xor al, 0x40
mov byte [0x475c71], al
movzx eax, byte [0x475ba2]
xor al, 0xd0
mov byte [0x475c72], al
movzx eax, byte [0x475ba3]
mov ecx, eax
add cl, al
and cl, 0x6e
sub al, cl
add al, 0x37
movsd xmm0, qword [0x475ba4]
xorps xmm0, xmmword [0x4615c0]
mov byte [0x475c73], al
movlps qword [0x475c74], xmm0
movzx eax, byte [str.51g]
mov byte [0x475c7c], al
movzx eax, byte [0x475bad]
xor al, 5
mov byte [0x475c7d], al
movzx eax, byte [0x475bae]
xor al, 0xe8
mov byte [0x475c7e], al
movzx eax, byte [0x475baf]
xor al, 0xaf
mov byte [0x475c7f], al
movzx eax, byte [0x475bb0]
mov ecx, eax
add cl, al
and cl, 0xfa
sub al, cl
add al, 0xfd
mov byte [0x475c80], al
mov eax, 0xcabd52a5
xor eax, dword [0x475bb1]
mov dword [0x475c81], eax
movzx eax, byte [0x475bb5]
mov ecx, eax
add cl, al
and cl, 0xf8
sub al, cl
add al, 0x7c
mov byte [0x475c85], al
movsd xmm0, qword [0x475bb6]
xorps xmm0, xmmword [0x4615d0]
movlps qword [0x475c86], xmm0
movzx eax, byte [0x475bbe]
xor al, 0x54
mov byte [0x475c8e], al
movzx eax, byte [0x475bbf]
xor al, 0x66
mov byte [0x475c8f], al
movzx eax, byte [0x475bc0]
xor al, 0x10
mov byte [0x475c90], al
movzx eax, byte [0x475bc1]
mov ecx, eax
add cl, al
and cl, 0x34
sub al, cl
add al, 0x1a
mov byte [0x475c91], al
movzx eax, byte [0x475bc2]
xor al, 0x9e
mov byte [0x475c92], al
movzx eax, byte [0x475bc3]
xor al, 0x89
mov byte [0x475c93], al
movzx eax, byte [0x475bc4]
mov ecx, eax
add cl, al
and cl, 0xa0
sub al, cl
add al, 0xd0
mov byte [0x475c94], al
mov eax, 0x9ee97055
xor eax, dword [0x475bc5]
mov dword [0x475c95], eax
movzx eax, byte [0x475bc9]
xor al, 0x39
mov byte [0x475c99], al
movzx eax, byte [0x475bca]
mov ecx, eax
add cl, al
and cl, 0xa6
sub al, cl
add al, 0xd3
mov byte [0x475c9a], al
movzx eax, byte [0x475bcb]
xor al, 0x6f
mov byte [0x475c9b], al
movzx eax, byte [0x475bcc]
xor al, 0x4b
mov byte [0x475c9c], al
movzx eax, byte [0x475bcd]
xor al, 0xa
mov byte [0x475c9d], al
movzx eax, byte [0x475bce]
mov ecx, eax
add cl, al
and cl, 0x72
sub al, cl
add al, 0xb9
mov byte [0x475c9e], al
movzx eax, byte [0x475bcf]
xor al, 0x1e
mov byte [0x475c9f], al
movzx eax, byte [0x475bd0]
mov ecx, eax
add cl, al
and cl, 0x52
sub al, cl
add al, 0xa9
mov byte [0x475ca0], al
movzx eax, byte [0x475bd1]
xor al, 0x3f
mov byte [0x475ca1], al
movzx eax, byte [0x475bd2]
xor al, 0x25
mov byte [0x475ca2], al
movzx eax, byte [0x475bd3]
mov ecx, eax
add cl, al
and cl, 0x6e
sub al, cl
add al, 0x37
mov byte [0x475ca3], al
movzx eax, byte [0x475bd4]
xor al, 0x9d
mov byte [0x475ca4], al
movzx eax, byte [0x475bd5]
mov ecx, eax
add cl, al
and cl, 0x50
sub al, cl
add al, 0xa8
mov byte [0x475ca5], al
movsd xmm0, qword [0x475bd6]
xorps xmm0, xmmword [0x4615e0]
movlps qword [0x475ca6], xmm0
mov eax, 0x8210a212
xor eax, dword [0x475bde]
mov dword [0x475cae], eax
movzx eax, byte [0x475be2]
xor al, 0xe4
mov byte [0x475cb2], al
movzx eax, byte [str.__t_RMC]
xor al, 0x6a
mov byte [0x475cb3], al
movzx eax, byte [0x475be4]
mov ecx, eax
add cl, al
and cl, 0x62
sub al, cl
add al, 0x31
mov byte [0x475cb4], al
movzx eax, byte [0x475be5]
xor al, 0x52
mov byte [0x475cb5], al
movzx eax, byte [0x475be6]
xor al, 0x6a
mov byte [0x475cb6], al
movzx eax, byte [0x475be7]
mov ecx, eax
add cl, al
and cl, 0x32
sub al, cl
add al, 0x19
mov byte [0x475cb7], al
movzx eax, byte [0x475be8]
xor al, 0x75
mov byte [0x475cb8], al
movzx eax, byte [0x475be9]
xor al, 0x77
mov byte [0x475cb9], al
movzx eax, byte [0x475bea]
mov ecx, eax
add cl, al
and cl, 0xf4
sub al, cl
add al, 0xfa
mov ecx, 0x6d884161
xor ecx, dword [0x475beb]
mov byte [0x475cba], al
mov dword [0x475cbb], ecx
movzx eax, byte [0x475bef]
xor al, 0x78
mov byte [0x475cbf], al
movzx eax, byte [0x475bf0]
xor al, 0x82
mov byte [0x475cc0], al
movzx eax, byte [0x475bf1]
xor al, 8
mov byte [0x475cc1], al
movzx eax, byte [0x475bf2]
mov ecx, eax
not cl
or al, 0x92
or cl, 0x6d
and cl, al
not cl
mov byte [0x475cc2], cl
movzx eax, byte [0x475bf3]
xor al, 0xc4
mov byte [0x475cc3], al
movzx eax, byte [0x475bf4]
mov ecx, eax
not cl
or cl, 0xea
or al, 0x15
and al, cl
mov byte [0x475cc4], al
movzx eax, byte [0x475bf5]
mov ecx, eax
add cl, al
and cl, 0x60
sub al, cl
add al, 0xb0
mov byte [0x475cc5], al
movzx eax, byte [0x475bf6]
xor al, 0xc8
mov byte [0x475cc6], al
movzx eax, byte [0x475bf7]
xor al, 0xb9
mov byte [0x475cc7], al
movzx eax, byte [0x475bf8]
mov ecx, eax
add cl, al
and cl, 0xb4
sub al, cl
add al, 0x5a
mov byte [0x475cc8], al
movsd xmm0, qword [0x475bf9]
xorps xmm0, xmmword [0x4615f0]
movlps qword [0x475cc9], xmm0
movzx eax, byte [0x475c01]
xor al, 0x6b
mov byte [0x475cd1], al
movzx eax, byte [0x475c02]
xor al, 0x74
mov byte [0x475cd2], al
movzx eax, byte [0x475c03]
mov ecx, eax
add cl, al
and cl, 0x96
sub al, cl
add al, 0x4b
mov ecx, 0xa514c063
xor ecx, dword [0x475c04]
mov byte [0x475cd3], al
mov dword [0x475cd4], ecx
movzx eax, byte [0x475c08]
xor al, 0x3c
mov byte [0x475cd8], al
movaps xmm0, xmmword [0x475720]
xorps xmm0, xmmword [0x461600]
movss dword [0x475930], xmm0
movzx eax, byte [0x475724]
xor al, 0xd9
mov byte [0x475934], al
movzx eax, byte [0x475725]
xor al, 0x15
mov byte [0x475935], al
movzx eax, byte [0x475726]
xor al, 0xb6
mov byte [0x475936], al
movzx eax, byte [0x475727]
mov ecx, eax
add cl, al
and cl, 0x1c
sub al, cl
add al, 0x8e
mov byte [0x475937], al
movzx eax, byte [0x475728]
xor al, 0x23
mov byte [0x475938], al
movzx eax, byte [0x475729]
xor al, 0x3f
mov byte [0x475939], al
movzx eax, byte [0x47572a]
xor al, 0xc1
mov byte [0x47593a], al
movzx eax, byte [0x47572b]
mov ecx, eax
not cl
or al, 0xaa
or cl, 0x55
and cl, al
not cl
movsd xmm0, qword [0x47572c]
xorps xmm0, xmmword [0x461610]
mov byte [0x47593b], cl
movlps qword [0x47593c], xmm0
movzx eax, byte [0x475734]
mov ecx, eax
add cl, al
and cl, 0x9a
sub al, cl
add al, 0x4d
mov byte [0x475944], al
movzx eax, byte [0x475735]
xor al, 0x41
mov byte [0x475945], al
movzx eax, byte [0x475736]
xor al, 0x2f
mov byte [0x475946], al
movzx eax, byte [0x475737]
xor al, 0xcc
mov byte [0x475947], al
movzx eax, byte [0x475738]
mov ecx, eax
add cl, al
and cl, 0x5c
sub al, cl
add al, 0xae
mov byte [0x475948], al
mov eax, 0x1992c4eb
xor eax, dword [0x475739]
mov dword [0x475949], eax
movzx eax, byte [0x47573d]
xor al, 0x76
mov byte [0x47594d], al
movzx eax, byte [0x47573e]
mov ecx, eax
add cl, al
and cl, 0xb4
sub al, cl
add al, 0x5a
mov byte [0x47594e], al
movzx eax, byte [0x47573f]
mov ecx, eax
add cl, al
and cl, 0x76
sub al, cl
add al, 0x3b
movaps xmm0, xmmword [0x475740]
xorps xmm0, xmmword [0x461620]
mov byte [0x47594f], al
movaps xmmword [0x475950], xmm0
movzx eax, byte [0x475750]
mov ecx, eax
add cl, al
and cl, 0xdc
sub al, cl
add al, 0xee
mov byte [0x475960], al
movups xmm0, xmmword [0x475751]
xorps xmm0, xmmword [0x461630]
movups xmmword [0x475961], xmm0
movzx eax, byte [0x475761]
xor al, 0xad
mov byte [0x475971], al
movzx eax, byte [0x475762]
xor al, 0x31
mov byte [0x475972], al
movzx eax, byte [0x475763]
mov ecx, eax
not cl
or cl, 0x50
or al, 0xaf
and al, cl
mov byte [0x475973], al
movzx eax, byte [0x475764]
xor al, 0x73
mov byte [0x475974], al
movzx eax, byte [0x475765]
add al, 0x80
mov byte [0x475975], al
movzx eax, byte [0x475766]
xor al, 0x5b
mov byte [0x475976], al
movzx eax, byte [0x475767]
mov ecx, eax
add cl, al
and cl, 0x76
sub al, cl
add al, 0x3b
mov byte [0x475977], al
movzx eax, byte [0x475768]
xor al, 0x3c
mov byte [0x475978], al
movzx eax, byte [0x475769]
xor al, 0xae
mov byte [0x475979], al
movzx eax, byte [0x47576a]
xor al, 0xa0
mov byte [0x47597a], al
movzx eax, byte [0x47576b]
mov ecx, eax
add cl, al
and cl, 0xf2
sub al, cl
add al, 0x79
movups xmm0, xmmword [0x47576c]
xorps xmm0, xmmword [0x461640]
mov byte [0x47597b], al
movups xmmword [0x47597c], xmm0
movzx eax, byte [0x47577c]
xor al, 0x74
mov byte [0x47598c], al
movzx eax, byte [0x47577d]
mov ecx, eax
add cl, al
and cl, 0xde
sub al, cl
add al, 0x6f
mov byte [0x47598d], al
movzx eax, byte [0x47577e]
xor al, 0x24
mov byte [0x47598e], al
movzx eax, byte [0x47577f]
xor al, 0xbd
mov byte [0x47598f], al
movzx eax, byte [0x475780]
mov ecx, eax
add cl, al
and cl, 0xe8
sub al, cl
add al, 0x74
mov byte [str.jRQ], al
movzx eax, byte [0x475781]
mov ecx, eax
add cl, al
and cl, 2
sub al, cl
add al, 0x81
mov byte [0x475991], al
movzx eax, byte [0x475782]
xor al, 0x71
mov byte [0x475992], al
movzx eax, byte [0x475783]
mov ecx, eax
add cl, al
and cl, 0x18
sub al, cl
add al, 0x8c
mov byte [0x475993], al
movzx eax, byte [0x475784]
mov ecx, eax
add cl, al
and cl, 0xf6
sub al, cl
add al, 0xfb
mov byte [0x475994], al
movzx eax, byte [0x475785]
mov ecx, eax
add cl, al
and cl, 0x40
sub al, cl
add al, 0x20
mov byte [0x475995], al
movzx eax, byte [0x475786]
xor al, 0xbc
mov byte [0x475996], al
movzx eax, byte [0x475787]
mov ecx, eax
add cl, al
and cl, 0x88
sub al, cl
add al, 0xc4
mov byte [0x475997], al
movzx eax, byte [0x475788]
xor al, 0x58
mov byte [0x475998], al
movzx eax, byte [0x475789]
xor al, 0xa0
mov byte [0x475999], al
movzx eax, byte [0x47578a]
mov ecx, eax
add cl, al
and cl, 0x2a
sub al, cl
add al, 0x95
mov byte [0x47599a], al
movzx eax, byte [0x47578b]
mov ecx, eax
add cl, al
and cl, 0xdc
sub al, cl
add al, 0x6e
mov byte [0x47599b], al
movzx eax, byte [0x47578c]
xor al, 0x2e
mov byte [0x47599c], al
movzx eax, byte [0x47578d]
xor al, 0xde
mov byte [0x47599d], al
movzx eax, byte [0x47578e]
mov ecx, eax
add cl, al
not cl
add cl, al
mov byte [0x47599e], cl
movzx eax, byte [0x47578f]
xor al, 0xc
mov byte [0x47599f], al
movzx eax, byte [0x475790]
mov ecx, eax
add cl, al
and cl, 0x6c
sub al, cl
add al, 0x36
mov byte [0x4759a0], al
mov eax, 0xf8dfce91
xor eax, dword [0x475791]
mov dword [0x4759a1], eax
movzx eax, byte [0x475795]
xor al, 0xa1
mov byte [0x4759a5], al
movzx eax, byte [0x475796]
mov ecx, eax
add cl, al
and cl, 0x98
sub al, cl
add al, 0x4c
mov byte [0x4759a6], al
movzx eax, byte [0x475797]
xor al, 0xc9
mov byte [0x4759a7], al
movzx eax, byte [0x475798]
xor al, 0xe7
mov byte [0x4759a8], al
movzx eax, byte [0x475799]
xor al, 0x44
mov byte [0x4759a9], al
movzx eax, byte [0x47579a]
mov ecx, eax
add cl, al
and cl, 0xb2
sub al, cl
add al, 0x59
mov ecx, 0x67c2ede6
xor ecx, dword [0x47579b]
wait
push edi
inc edi
add byte [edx + 0x4759aa], ah