Function at 0x1003586b
Capabilities:
Authenticate hmac
Parse pe header
Resolve function by parsing pe exports

Disassembly:
xchg si, bx
mov esi, esi
mov bl, bl
call fcn.10023311
js 0x1001290e
shl dh, 0x20
jns 0x1002dccb
loopne 0x1002dd2c
sbb cl, byte [edi]
mov dword [0x5fffe4c], edi
inc ebx
jns 0x1001290e
add eax, 0x24648d43
add al, 0x8b
push esi
add al, 0x8b
pop esi
or byte [ebx - 0x133feffc], cl
inc eax
jmp dword [esi]
loope 0x100300f1
into
jo 0x1001904c
invalid
je 0x10027b42
fld dword [eax - 0x73]
jbe 0x10030104
div byte [ebx + edi]
mov dword [ebp + 0x38], eax
jmp dword [esi]
cmp dword [ecx + ecx*4 - 0x792a7937], esi
ljmp 0x4055
lea esp, [esp + 4]
mov ebp, ebp
shl cx, 0x20
mov word [esi + 0xbc], di
xchg cl, dh
mov dl, dl
shl ecx, 0x20
xchg dh, cl
ja 0x1002dcb4
jbe 0x1003588f
jb 0x10035905
jbe 0x1002dcb4
mov dword [ecx + 0x424648d], 0x8966ff89
leave
push esi
xchg ebp, eax
xchg ebp, eax
xchg bh, dh
xchg dh, bh
mov byte [esi + 0xba], bl
push ebx
pop ebx
mov dx, dx
mov byte [esi + 0xbb], al
jno 0x100440d0
mov al, al
mov ebx, ebx
jo 0x100358c8
or dword [ebx], 0x46
jo 0x100440d0
fdiv dword [edi - 0x978b18]
inc dword [ecx + 0x8c4]
add byte [ecx + 0x5b5e5fc9], cl
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0xc]
xchg bh, bl
xchg bl, bh
push eax
push ecx
call fcn.1004affb
mov eax, dword [ebp + 8]
add esp, 0xc
cmp eax, 0x7cf
jge 0x10035940
jl 0x10035931
pop edx
lahf
sbb cl, byte [edi - 0x3fce86b8]
xor eax, eax
jb 0x100300c4
jmp 0x10047727
mov edx, dword [ebp - 8]
jmp 0x10035944
push eax
shl cx, 0x20
mov eax, dword [ebp - 0xc]
push edx
jmp 0x1003594f
push eax
shr dl, 0x40
call fcn.1002a560
add esp, 0xc
ja 0x10047727
jbe 0x10035969
sar ah, 0xf
xchg byte [eax + 0x2500011d], bh
or byte [ebx + 0x568b4c5d], 4
jbe 0x10047727
and eax, 0x4c5d8b82
mov edx, dword [esi + 4]
lea esi, [esi + 8]
lea esi, [esi]
push 0x10017209
ret
jmp 0x1004023a
push edx
call fcn.1002c149
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
shl di, 0x20
pop ebp
ret
mov eax, dword [esi]
push 0
jmp 0x10040259
push eax
call fcn.1002c149
add esp, 8
pop edi
lea edx, [edx]
pop esi
pop ebx
mov esp, ebp
mov ch, ch
pop ebp
ret
mov ah, ah
mov bp, bp
mov word [esi + 0xbc], di
call fcn.10024b40
fmul st(1)
cmp edi, eax
jge 0x1004773c
jl 0x10047735
dec ebp
ja 0x10047799
out 0xc7, al
inc ebp
cld
add dword [eax], eax
add byte [eax], al
mov dword [ebp - 4], 1
mov ecx, dword [esi]
push 0x100
lea edx, [ebp - 0x10c]
push ecx
push edx
call fcn.10047686
lea eax, [ebp - 0x10c]
push 1
jmp 0x1004775a
push eax
call fcn.1004558e
lea ecx, [ebp - 0x10c]
push 0x105
push ecx
call fcn.1001fa19
lea edx, [ebp - 0x10c]
xchg dx, bx
xchg bx, dx
push 0
mov esi, esi
push edx
call fcn.10022714
lea eax, [ebp - 0x10c]
push eax
call fcn.10031411
add esp, 0x28
add byte [eax], al
add al, al
out dx, eax
inc eax
shr bh, 0x40
lea ecx, [ebp - 0x10c]
push ecx
call fcn.1003eefd
add esp, 4
test eax, eax
jb 0x100300cd
invalid
je 0x10016f89
jne 0x100477c4
jp 0x100477a0
mov eax, dword [ebp - 4]
test eax, eax
jb 0x10019058
push esi
pop esi
je 0x10040254
jne 0x100477dc
mov ebp, 0x168b98c8
mov edx, dword [esi]
shl ebx, 0x20
push 0x25
jno 0x10040239
jo 0x100477ee
push edi
mov dh, 0x5c
jo 0x10040239
and eax, 0x40ebc0b8
shl bp, 0x20
mov cl, byte [ebp + 0xc]
jmp fcn.10013ee7