Function at 0x102a0572
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
not ecx
xor dword [esp + eax - 0x3a607cce], eax
not dx
call fcn.10204d7d
ror ecx, 3
mov dword [esp], 0x2c30a68b
xadd al, ah
inc ecx
not ecx
sal dword [esp], 0xf1
lea eax, [eax + eax*4 - 0x2a4ebdc2]
js 0x101caf4c
rol ecx, 1
not al
sub eax, dword [esp + 3]
xor ebx, ecx
inc eax
ror al, 0x61
adc ebp, ecx
mov cx, word [esi]
movzx edx, byte [esp + 3]
or ax, 0xf28f
lea esi, [esi + edx - 0x4b]
xadd byte [esp + edx*4 - 0x126], ah
mov dl, byte [edi + edx - 0x4d]
shr byte [esp + 4], 0xa4
call fcn.102a27f0
mov dword [edi + ecx*4 - 0x46c81804], edx
lea ebp, [ebp + ecx*2 - 0x23640c06]
call fcn.1024ee35
jmp edx
ror eax, 1
not cx
or dl, dh
not cl
inc eax
shr cx, 0x8b
xor eax, 0xd6867928
xor ebx, eax
add esi, eax
add edx, esi
jmp edx
sal edx, 0xd8
or eax, dword [edi + edx*2]
xor eax, ebx
neg dx
lea eax, [edx + eax + 0x5f362aba]
shl cx, 0xc3
jp 0x101e3ba1
ror dl, 1
movzx eax, cx
lea ecx, [ecx + ecx*8 - 0x15c91955]
xor bl, dl
inc cl
lea edx, [esp + edx + 0xc]
rol eax, cl
movzx cx, byte [edx + ecx*8 - 0x468eb560]
setnp byte [esp + eax - 0x6fffff6]
push eax
lea edi, [edi + eax*8 - 0x38000002]
rol al, 0x45
mov word [edi + eax*4 - 0x1c000000], cx
lea ecx, [eax*4 + 0x19af67a0]
sar eax, 0x53
pop edx
pop edx
pop eax
pop eax
jae fcn.10284575
pop ecx
pop eax
pop ecx
jne fcn.10260b6e
neg eax
ror dword [esp], 0x91
jae 0x102af85e
rol cx, 0xe2
rol ecx, cl
mov word [edi + eax*2 - 0x788400], dx
jmp esi
mov dword ss:[edx + eax - 0x5276c201], ecx
mov dword [esp + eax - 0x5276c201], edi
ret 8
mov word [ebp], dx
mov edx, ecx
movzx eax, dl
lea edi, [edi + eax*4 - 4]
jne 0x1021f1cf
cmovb ecx, dword [esp + edx - 0x89a2bb7]
neg eax
and ecx, 0x4430888f
not word [esp + edx - 0x89a2bb5]
ror eax, 2
dec eax
call fcn.101fa727
and cl, 0xab
inc edx
xor edx, 0x71102831
jmp 0x1029b582
ror edx, 1
rol ax, cl
sar ax, cl
dec edx
push ecx
shl dword [esp + ecx*4 - 0x4a8], 0x68
not edx
or ecx, 0x9e1fe03e
bswap edx
and ecx, dword [esp]
sbb edx, 0xf11eb60c
xor ebx, edx
add esi, edx
mov dword [esp + ecx - 0x12000], esi
ret
not al
add edi, ecx
not dword [esp + eax - 0xfefc]
call fcn.10266726
sal dl, 0x64
sbb eax, 0x963490a9
sal ecx, 0xbf
rol eax, 2
inc eax
not dx
xor ecx, 0x911f822e
rol eax, 1
shl cx, cl
push ecx
shl edx, 0xdb
bswap eax
not dword [esp]
jp 0x1022765c
xor cl, bl
shr edx, 0x83
call fcn.101c26b6
not eax
lea ecx, [ecx + ecx*4 + 0x122c9dbf]
call fcn.1022df86
mov ax, word [edx + ecx - 0x5d000000]
shr cx, 0xe2
dec word [esp + ecx - 0x5cfffffd]
lea edi, [edi + ecx - 0x5d000002]
xor dword [esp + ecx - 0x5d000000], 0x72dce9a
or word [esp + ecx - 0x5cfffffb], cx
mov word [edi + ecx - 0x5d000000], ax
lea eax, [ecx + ecx - 0x3afab100]
mov edx, dword [esp + eax - 0x7f054eff]
push eax
lea ebp, [ebp + eax - 0x7f054f04]
sar ecx, 0xa2
mov ecx, dword [ecx + ebp - 0x17400000]
shr ax, 0x4e
xor ecx, ebx
add dword [esp + eax - 0x7f04fffd], 0xd80cc233
ror ecx, 3
sal dword [esp + eax - 0x7f04fffc], 0xc4
or byte [esp + eax - 0x7f04fff8], dl
lea ecx, [ecx + edx*2 - 0x7f2d01e0]
pop eax
xadd eax, edx
jg 0x101ca0fe
mov eax, 0xde07e732
sub edi, 4
mov edx, dword [edi]
lea ecx, [eax - 0x7c6a057c]
xor edx, ebx
inc ecx
bswap edx
sub ecx, ecx
ror edx, 1
not edx
ror edx, 3
call fcn.101ee84c
xor ebx, edx
call fcn.1026aa53
mov ecx, 0x709c891e
mov dx, word [ebp + ecx - 0x709c891e]
mov ax, word [ebp + ecx - 0x709c891c]
or cx, 0x2ca6
dec cl
lea ebp, [ecx + ebp - 0x709cadbb]
bswap ecx
not dx
shl cx, 0x82
not ax
sar ecx, 0x98
dec ecx
and dx, ax
sal cx, 0xc7
jne 0x1027f489
mov dx, word [ecx + eax*4 - 0xf10800]
mov ecx, eax
lea edi, [edi + eax - 0x3c41fe]
jp 0x10233f52
jp 0x10265155
jae 0x102a09af