Function at 0x7ecc31
Capabilities:
Encode data using xor
Execute anti-debugging instructions
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
mov eax, 0x7b7c62aa
cdq
push 0x50f2bf
cwde
movzx eax, bx
push 0x50f2bf
rdtsc
cwde
cbw
lea edx, [esp + 0x58]
xchg al, al
cwde
push edx
cwde
movsx ax, bl
push 0x36
bswap eax
jmp fcn.00765c29
mov dword [esp + 0x18], eax
jmp 0x65eaf3
call fcn.00440560
mov edi, dword [eax]
mov eax, dword [eax + 4]
cmc
btc si, 0x1a
bt esi, 0x11
mov esi, dword [0x52af94]
test dh, bh
mov dword [esp + 0x24], edi
cmp cx, sp
jmp 0x7ce94b
jne 0x77b81f
push 0
call dword [0x4e7458]
push eax
jmp 0x18c46f8
mov byte [esp + 0x79], 0x6f
jmp 0x824830
mov byte [esp + 0x63], bl
jmp 0x5fe67a
mov byte [esp + 0x7d], 0x6f
jmp 0x5f55f3
mov byte [esp + 0x7e], 0x74
jmp 0x6ed5fd
mov byte [esp + 0x6a], 0x54
jmp 0x81b106
mov byte [esp + 0x64], bl
mov byte [esp + 0x65], 0x64
jmp 0x8018bd
mov byte [esp + 0x9c], 0x43
mov byte [esp + 0x9d], 0x68
jmp loc.0043ae41
mov byte [esp + 0x2f], 1
mov byte [esp + 0x60], 0x63
mov byte [esp + 0x61], 0x64
jmp 0x763615
push edx
mov byte [esp + 0x7c], 0x20
jmp 0x7dd23b
mov byte [esp + 0x67], 0x63
mov byte [esp + 0x68], 0x6b
jmp 0x7d6cf2
call fcn.00440560
cmp dword [esp + 0x14], 0x35
not ecx
setno cl
mov ecx, dword [eax]
jmp loc.0042c53d
call fcn.0083de65
test eax, eax
jmp 0x7d0349
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x2c]
push edx
mov di, bx
lea edi, [esp + 0x20]
mov dword [ecx + 0x18c], esi
jmp 0x5ad973
je 0x69daff
lea edx, [esp + 0x24]
movsx edi, sp
bswap edi
xchg di, di
push edx
mov edi, 0xc9f1d7e
lea edi, [esp + 0x18]
jmp 0x5896d2
mov byte [esp + 0x55], 0x64
jmp 0x7a3fc9
je 0x586b1c
push 0x206
bts edx, ebx
bt dx, 0xee
sub esi, esi
jmp 0x730a2c
push edx
jmp 0x698ecc
mov byte [esp + 0x7f], 0x20
jmp 0x8ca5d9
sub eax, dword [0x52afe4]
test edi, ecx
sar eax, 2
test edx, 0x20a5364c
cmc
cmp esi, eax
jb 0x6f4ebc
call fcn.0046ddf5
mov ecx, dword [0x52afe4]
movsx edx, sp
bswap edx
mov edx, dword [ecx + esi*4]
jmp 0x6d4292
je 0x6fba94
call fcn.0046ddf5
cmp dword [esp + 0x28], esi
jmp 0x6bd0a5
mov byte [esp + 0x6d], 0x65
jmp 0x778194
mov edx, dword [0x52afe8]
sub edx, dword [0x52afe4]
sar edx, 2
cmp esi, edx
jmp 0x7a2688
sub edx, edx
cmovno ecx, esp
shl ecx, 0x73
stc
mov ecx, 0x72
cmc
mov word [esp + 0xa8], dx
mov word [esp + 0x98], cx
shr dl, cl
sub ecx, ecx
sar edx, 0x98
add esi, 0xffffd8f0
bsf edx, esi
movsx edx, ax
mov edx, 0x62
jmp 0x750acd
push 0xffffffffffffffff
xchg dx, dx
movzx cx, dh
mov ecx, edi
push 0x50f2bf
push 0x50f2bf
cwd
lea ecx, [esp + 0x58]
setns dh
push ecx
xchg dh, dh
push 0x37
jmp 0x18e331e
lea edx, [esp + 0x586]
stc
xor ecx, ecx
jmp loc.0042ef1a
je 0x586b1c
call fcn.008c1cb9
cmp byte [0x529b4e], 1
movsx ax, dl
xchg cl, cl
mov eax, dword [esp + 0x20]
movsx cx, dl
movsx ecx, sp
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x27c], ecx
jmp 0x5bf1d9
mov byte [esp + 0x70], 0x20
jmp 0x7f5b59
jb 0x78b809
cmp byte [esp + 0x13], 1
jmp 0x742f3c
mov word [esp + 0x9a], dx
clc
test bp, 0x2aa2
mov word [esp + 0x9c], cx
cmc
mov dword [esp + 0x1c], esi
clc
cmc
cmp eax, 0xffffffff
jmp 0x6ac4e1
push 0x4d
push ecx
jmp 0x61dda3
mov byte [esp + 0x62], bl
jmp 0x5cc53a
mov byte [esp + 0x5a], 0
jmp 0x18e50aa
mov byte [esp + 0x84], 0x74
jmp 0x7f5c5f
je 0x6fba8f
cmp edi, dword [0x52af7c]
jmp 0x6fba89
mov byte [esp + 0x6e], 0x61
jmp 0x7f2bf2
mov esi, dword [ebp + 8]
mov eax, dword [eax + 0x18c]
btc cx, si
stc
mov ecx, esi
mov edx, 0x25
mov ecx, ebx
cmp dl, 0x9f
mov word [esp + 0xa0], dx
mov word [esp + 0xa2], cx
cmp dx, bx
mov word [esp + 0xa4], dx
test edi, 0x5b5d009a
mov word [esp + 0xa6], cx
jmp 0x71e226
mov byte [esp + 0x58], bl
mov byte [esp + 0x59], 0x64
jmp 0x771995
mov eax, dword [0x52afe8]
cmp si, cx
cmc
sub eax, dword [0x52afe4]
jmp 0x851d9b
mov byte [esp + 0x75], 0x69
jmp 0x831274
jne 0x425584
mov eax, dword [0x52afe8]
jmp 0x6f4e9d
jb 0x7a2693
call fcn.0046ddf5
mov eax, dword [0x52afe4]
cmovb ecx, edx
mov cx, 0xce4
mov ecx, dword [eax + esi*4]
jmp 0x8d487c
mov byte [esp + 0x56], bl
jmp 0x854e6d
call fcn.008c886a
test eax, eax
jmp 0x897396
mov byte [esp + 0x7b], 0x20
mov byte [esp + 0x7c], 0x4e
jmp 0x5dcf56
mov dword [esp + 0x28], eax
test ecx, 0x25ab226c
test edi, edi
test edi, edi
jmp 0x776c28
jbe 0x71bb35
push 0xffffffffffffffff
xchg cx, ax
movsx eax, bp
push 0x50f2bf
bswap ax
setne cl
jmp 0x863ae5
mov byte [esp + 0x69], 0x20
jmp 0x5fac94
call fcn.0086dbe6
add esp, 0x1c
jmp 0x7ecc3b
jb 0x7e4c0d
call fcn.0046ddf5
mov ecx, dword [0x52afe4]
movzx edx, bx
mov ah, ah
setns dh
mov edx, dword [ecx + esi*4]
movsx ax, bh
cmovns ax, di
lea eax, [esp + 0x1c]
jmp 0x8cc9fb
ret 4
mov byte [esp + 0x74], bl
jmp 0x797131
push 0x14bf3b81
call fcn.0088c55d
call fcn.008c1cb9
inc esi
cmp bh, 0x2e
cmp esi, edi
jmp 0x74f0bc
mov byte [esp + 0x6f], 0x64
jmp 0x74ac89
mov byte [esp + 0x71], 0x4d
jmp 0x804cd2
mov byte [esp + 0x85], 0x65
jmp 0x83cffa
mov byte [esp + 0x73], bl
jmp 0x7eb764
mov byte [esp + 0x66], 0
jmp 0x5febfd
mov byte [esp + 0x72], 0x69
jmp 0x801770
mov byte [esp + 0x6b], 0x68
mov byte [esp + 0x6c], 0x72
jmp 0x71459b
mov byte [esp + 0x7a], 0x72
jmp 0x7caae0
mov byte [esp + 0x76], 0x6e
mov byte [esp + 0x77], 0x67
jmp 0x5cb68b
mov byte [esp + 0x86], 0
jmp 0x6203b5
sar eax, 2
jmp 0x8ab896
mov byte [esp + 0x57], bl
jmp 0x78512a
mov byte [esp + 0x2b], 1
mov byte [esp + 0x54], 0x63
jmp 0x6b6bba
push 0x50f2bf
cbw
lea eax, [esp + 0x8c]
cmovno cx, cx
mov ch, 0xe6
seto ch
push eax
mov cx, ax
movzx ecx, di
xchg ecx, ecx
push 0x35
lea ecx, [esp + 0x58]
jmp 0x759e20
mov byte [esp + 0x66], 0x65
jmp 0x6333bf
je 0x728e61
cmp dword [esp + 0x1c], 0x103
jmp 0x79caba
cmp esi, eax
jmp 0x7e4c02
mov byte [esp + 0x83], 0x61
jmp 0x772993
push edx
jmp 0x7aa6a7
mov byte [esp + 0x80], 0x43
mov byte [esp + 0x81], 0x72
mov byte [esp + 0x82], 0x65
jmp 0x8b96b5
push eax
jmp 0x8ca18a
push ecx
call dword [0x4e7354]
jmp 0x7ecc40
call dword [0x4e743c]
pop edi
adc ecx, edx
pop esi
pop ebx
or cl, al
mov ecx, dword [esp + 0x780]
cmp bl, 0x9f
xor ecx, esp
call fcn.0046d9cb
mov esp, ebp
movsx ebp, si
not bp
xchg bp, bp
pop ebp
jmp 0x7e7581
push 0x4d
xchg edx, edx
lea edx, [esp + 0x54]
jmp 0x860727
mov byte [esp + 0x64], 0x43
mov byte [esp + 0x65], 0x68
jmp 0x87f19c