Function at 0x44aaba
Capabilities:
Execute anti-debugging instructions

Disassembly:
add eax, 0x88ba4ec6
jmp 0x44b102
jmp 0x44ab22
lea esp, [esp + 4]
sub bl, 0xf8
xchg edx, eax
jmp 0x44ab0c
not edx
mov eax, 0x3d777124
jmp 0x44ab27
clc
jb 0x44aabc
jae 0x44aabc
and ebx, 0x3c
bsf edx, edx
jge 0x44ac6a
sub esp, 6
jmp 0x44ab64
sub ebp, 4
neg ax
jae 0x44abc5
mov dx, word [esp]
jmp 0x44aba6
mov ax, 0x95ee
mov word [esp + 3], si
lea esp, [esp + 2]
jmp 0x44ab8e
mov ax, 0x95ee
mov word [esp + 3], si
lea esp, [esp + 2]
jmp 0x44ab4e
pushal
push bp
lea esp, [esp + 2]
mov dword [esp + 0x1c], edi
cmc
jmp 0x44abd8
lea eax, [edx - 0xca]
sub esp, 0x15
lea esp, [esp + 1]
jmp 0x44abd6
mov dx, word [esp]
lea eax, [edx - 0xca]
sub esp, 0x15
lea esp, [esp + 1]
jmp 0x44ab90
jge 0x44abfe
popal
jmp 0x44abff
btr ax, sp
jb 0x44ac1c
jae 0x44ac1c
mov al, 0x9e
mov bl, cl
clc
js 0x44ac06
rdtsc
jmp 0x44ac38
popal
lea eax, [eax + ebx]
mov edx, dword [eax]
jmp 0x44abdd
rdtsc
jmp 0x44ac38
push edx
int 0x5c
sbb byte [edx + esi*4], 0xd5
and al, 0xe1
imul byte [ecx - 7]
cwde
imul ebx, esp, 8
aad 0x24
loope 0x44ac0b
imul edi, ecx, 0x8dc6b98
stosd dword es:[edi], eax
mov ebx, ebp
mov dword [ebx], edx
jmp 0x44abe5
xchg bx, ax
lea ebx, [esi*4]
setnp bl
rcl bl, 6
jmp 0x44ac3a
jmp 0x44ac22
jle 0x44ac50
jg 0x44ac50
jno 0x44ac11
inc ecx
and bl, dl
push esi
rcl byte [edx - 0x40]
cmpsd dword [esi], dword es:[edi]
push edx
in al, dx
push ebx
retf 0x9465
lea ebx, [edi + 0x50]
xchg edx, eax
xchg dl, dh
rcl eax, 0x1d
jmp 0x44ac72
sub esp, 6
jmp 0x44ab81
js 0x44ac95
jns 0x44ac95
movzx ebx, byte [esi - 1]
lea edx, [ecx*4]
jmp 0x44ad3d
cmp ebp, ebx
jmp 0x44b22b
push ebp
mov eax, dword [esp + 2]
mov al, bl
setne dl
jmp 0x44acbe
rcr edx, 8
jmp 0x44ad01
cmc
jo 0x44acdb
jno 0x44acdb
mov cs, word [ecx]
cdq
clc
or edi, dword [ecx + reloc.KERNEL32.dll_GetProcAddress]
stosb byte es:[edi], al
insb byte es:[edi], dx
dec ebx
loop 0x44acef
insb byte es:[edi], dx
jg 0x44ad2a
push ebp
mov eax, dword [esp + 2]
jmp 0x44aca2
call fcn.0044ad1f
rol al, 0
sub esp, 0xc
js 0x44ad09
lea edx, [eax + edx]
not dh
rol edx, cl
pop dx
mov byte [esp + 8], dh
call fcn.0044ad6d
inc esi
int1
rcr edx, 8
rcr edx, 8
add bl, cl
sub eax, ebx
jg 0x44ac9d
jle 0x44acd4
lea edx, [eax + edx]
jmp 0x44ad65
and al, 7
jmp 0x44ace0
mov dx, word [esp]
mov ah, 0xee
rdtsc
ror al, cl
jne 0x44acfe
je 0x44acb9
mov byte [esp + 8], dh
xchg dword [esp + 3], edx
lea esp, [esp + 2]
jmp 0x44adb1
not dh
rol edx, cl
pop dx
jmp 0x44ad4f
setnp dl
push esi
rol dx, 0
jmp 0x44adc8
mov dh, byte [esp + 1]
jmp 0x44adeb
lea esp, [esp + 0x2c]
inc al
mov dh, cl
lea edx, [eax*4]
lea edx, reloc.KERNEL32.dll_GetProcAddress
jmp 0x44ad8d
jae 0x44ad9b
mov dh, byte [esp + 1]
jmp 0x44adeb
lea esp, [esp + 4]
not al
lea edx, [eax + ecx]
bts edx, esp
jmp 0x44ae64
cmc
mov dx, word [esp]
jmp 0x44ae4e
dec al
mov dh, byte [esp]
mov dx, ax
mov dx, ax
sub esp, 0xf
jmp 0x44ae83
jp 0x44adfd
cmc
mov dx, word [esp]
jmp 0x44ae4e
js 0x44ae99
lea esp, [esp + 3]
jmp 0x44ae9d
lea esp, [esp + 3]
lea esp, [esp + 0xc]
add al, 0x42
jmp 0x44aeaa
pushfd
lea edx, [eax*4]
pushal
stc
jnp 0x44af02
jp 0x44aed9
invalid
btc dx, bp
inc dh
jmp 0x44af08
jmp 0x44af2c
dec esi
mov dx, 0xc9d8
push ebx
mov dx, word [esp + 2]
btc ax, bp
jmp 0x44b0f3
btc dx, bp
inc dh
add cl, al
jne 0x44aee1
bswap eax
btc ax, bx
lea edx, [eax + edx]
jmp 0x44aee3
bswap eax
btc ax, bx
lea edx, [eax + edx]
jmp 0x44aee3
sbb dl, ah
mov al, 0x51
not eax
sub bl, 0x28
bswap eax
mov eax, 0x8872374c
lea eax, reloc.KERNEL32.dll_GetProcAddress
jmp 0x44aff8
not bl
xchg al, dh
rcl dh, 2
jg 0x44afcf
jle 0x44afb9
inc ebx
rcl byte [esi + 0x31], 0xc0
add al, 0xfd
int3
mov dx, word [esp + 1]
mov ax, word [esp + 1]
pop word [esp]
lea edx, [edi + ebp]
lea esp, [esp + 2]
jmp 0x44af7a
add bl, 0xbe
pushfd
setg ah
jmp 0x44af90
ror dx, cl
mov ax, word [esp]
rdtsc
jmp 0x44afd8
ror dx, cl
mov ax, word [esp]
rdtsc
jmp 0x44b014
mov al, cl
call 0x44b022
push edx
mov al, cl
lea edx, [edx*4]
setp ah
xchg ah, dh
jmp 0x44b096
cmp al, 0x60
js 0x44afb0
jns 0x44afb0
lea edx, [edx*4]
jmp 0x44b054
not bl
not ax
mov dx, 0x6688
cmc
js 0x44afda
jns 0x44afe2
mov dx, sp
rdtsc
lea eax, [esi*4]
mov dl, cl
btc eax, ebx
jmp 0x44b06b
not eax
jmp 0x44af3d
lea eax, [eax + 0x1d]
bswap edx
stc
mov dx, bp
inc dl
xchg dword [esp + 0x20], eax
jmp 0x44b0b1
setp ah
xchg ah, dh
jmp 0x44b096
xchg dword [esp], eax
mov dx, word [esp]
pushal
bsf dx, bp
mov dl, 0xb1
xchg word [esp + 0x17], dx
jmp 0x44b043
neg bl
call 0x44b080
int 0x44
fidivr dword [ebp - 0xe820db4]
popal
add bl, dh
inc esi
jge 0x44b09d
pushal
pop es
dec ebp
jae 0x44b11b
pushfd
inc eax
mov dword [esp], ebp
xchg al, dl
push dword [esp + 0x24]
ret 0x28
jae 0x44af37
sbb dl, ah
mov al, 0x51
jmp 0x44b03c
mov dl, 0x77
jmp 0x44b10b
add dl, ch
jns 0x44b183
neg edx
bswap edx
jmp 0x44b14c
salc
inc esi
aam 0xb3
dec esi
push dword [edi - 0x3f]
loopne 0x44b127
push edi
xchg byte [esp], dh
xor al, 0x24
not dx
jmp 0x44941c
lea edx, [eax*4]
call int.0044b164
dec ebp
fdiv qword [edx + 0x15]
in al, 0x53
mov ebp, 0x2bd8b929
lcall 0x7880, 0x8b826bc8
push eax
mov dh, byte [edi + 0xf]
mov esp, 0x8dda76d4
adc al, 0x85
add byte [eax], al
add byte [eax], al
mov eax, dword [eax + reloc.KERNEL32.dll_GetProcAddress]
bsf edx, esp
jbe 0x44b131
lea edx, [eax*4]
jmp 0x44b138
neg edx
bswap edx
jmp 0x44b14c
mov ebx, edi
sub esp, 0x1d
js 0x44b24b
jns 0x44b256
hlt
ja 0x44ac76
mov dx, word [esp]
rdtsc
not ebx
cmc
jmp 0x44b276
xchg word [esp + 0x11], dx
jmp 0x44b27a
xchg word [esp + 0x11], dx
neg ah
mov byte [esp + 0xb], ah
lea esp, [esp + 1]
jmp 0x44b28a
jae 0x44b215
jb 0x44b215
neg ah
mov byte [esp + 0xb], ah
lea esp, [esp + 1]
jmp 0x44b28a
lea eax, [edi + 0x40]
setge dl
push ebp
bsr edx, ebp
jb 0x44b2c0
jae 0x44b2aa
lodsb al, byte [esi]
sub eax, 0xf137c4bd
mov esi, 0x46cbac3e
test dword [edi - reloc.KERNEL32.dll_GetProcAddress], 0x9cc32bff
jmp 0x44b1e6
sub eax, ebx
pushfd
sub eax, ebx
pushfd
xchg byte [esp + 2], dh
mov dl, ch
sub esp, 0x15
jmp 0x44cb5a
jmp 0x44b2aa
lea esp, [esp + 1]
lea edx, [ebp - 0x80]
clc
jmp 0x44b816
add eax, 0x50f1c4ab
jmp 0x44b842
add eax, 0x25406ea0
jmp 0x44b92d
call fcn.0044b336
lea edx, [ebx*4]
bsf edx, ebp
jmp 0x44b444
rol al, 0
js 0x44b463
mov dh, ah
mov edx, esi
mov dh, byte [esp]
mov dh, 0x88
mov dh, byte [esp]
jmp 0x44b46a
jmp 0x44b48f
mov dh, 0x88
mov dh, byte [esp]
not dh
jmp 0x44b4be
clc
jmp 0x44b498
clc
xchg dl, dh
lea edx, [ebx + ebp]
clc
jmp 0x44b4a4
mov dh, ah
mov edx, esi
mov dh, byte [esp]
jmp 0x44b465
xchg dl, dh
lea edx, [ebx + ebp]
clc
jmp 0x44b4a4
lea esp, [esp + 4]
not al
mov dx, si
xchg dh, dl
mov dh, 0xd7
jmp 0x44b4e1
inc al
mov dl, al
push edi
bsr dx, bx
js 0x44b46e
jns 0x44b475
lea edx, [ecx + ecx]
bts dx, bp
push sp
mov dl, ah
lea esp, [esp + 2]
jmp 0x44b51b
dec al
bswap edx
bsr edx, edx
jle 0x44b4cb
jg 0x44b5b0
mov dl, byte [ecx]
and eax, 0x920ca613
add byte [edi - 0x6e], ah
daa
xchg ebx, eax
or ah, byte [ebp - 0xcd162c]
invalid
add al, 0x42
call fcn.0044b505
bswap edx
mov dx, bp
lea edx, [eax*4]
jmp 0x44b53a
add cl, al
mov dl, 0x44
setb dh
jmp 0x44b559
dec esi
mov ax, bp
mov ax, word [esp]
btc edx, ebp
je 0x44b58e
neg dx
jmp 0x44b590
mov dl, ah
lea esp, [esp + 2]
jmp 0x44b51b
neg dx
not dx
btr eax, eax
rdtsc
jmp 0x44b633
jmp 0x44b578
not dx
btr eax, eax
rdtsc
lea edx, [ecx*4]
jmp 0x44b63a
lea edx, [ecx + ecx]
bts dx, bp
push sp
jmp 0x44b570
call fcn.0044b5fd
out 0x6b, al
sti
sahf
insd dword es:[edi], dx
scasd eax, dword es:[edi]
or al, 0x8c
add ah, byte [ebp - 0x6c]
and eax, 0x32dbf899
sub eax, 0x83241c87
in al, dx
sbb al, 0xf
retf 0x17e8
lea edx, [ecx*4]
mov dx, 0x59dc
inc al
jle 0x44b5d1
jg 0x44b5d1
lea esp, [esp + 2]
jmp 0x44b683
add bl, 0xbe
mov dl, bl
cmc
jo 0x44b6a1
jno 0x44b7cc
fist word [edi - 0x39]
mov byte [0xe54ae851], al
jge 0x44b644
lea esp, [esp + 2]
jmp 0x44b683
mov eax, 0xebc7c79e
shl ax, 8
mov dl, cl
sub esp, 0x18
btr eax, ecx
mov dword [esp + 0xc], edi
jmp 0x44b73e
call 0x44b715
push ecx
fimul word [ebx + ebp - 0x1a]
pop ecx
mov eax, dword [reloc.KERNEL32.dll_GetProcAddress]
test dword [esi + reloc.KERNEL32.dll_GetProcAddress], esi
xchg ah, dh
lea edx, [ebp*4]
add dl, ch
mov ax, 0x2352
jmp 0x44b728
lea ebp, [ebp - 0x1b]
mov eax, 0xdbaaaf37
mov edx, esp
push edi
jmp 0x44b76d
lea esp, [esp + 0x18]
not bl
mov dx, 0x7bc7
sub dh, 0x33
jge 0x44b6e9
mov dx, word [esp]
jmp 0x44b77e
lea eax, reloc.KERNEL32.dll_GetProcAddress
push dword [esp + 8]
ret 0xc
push dword [esp + 1]
xchg dword [esp + 8], ebp
dec eax
neg edx
dec ax
neg ah
jmp 0x44b757
sub esp, 0x14
xchg word [esp + 0xc], dx
jmp 0x44b7a8
sub esp, 0x18
btr eax, ecx
jmp 0x44b6b2
lea esp, [esp + 0x14]
not bl
setne dl
xchg dx, ax
lea edx, [esi - 6]
jmp 0x44b7ef
mov eax, 0xebc7c79e
shl ax, 8
mov dl, cl
jmp 0x44b79d
bsr dx, ax
jmp 0x44b7fe
sub esp, 0xc
jg 0x44b7d9
bsr dx, ax
jmp 0x44b7fe
lea esp, [esp + 0xc]
neg bl
mov edx, 0xb79407d5
mov dh, byte [esp]
jmp 0x44bafc
jne 0x44bb54
je 0x44bb54
mov dl, bh
jmp 0x44b2e8
jp 0x44b85c
mov dx, bp
mov dx, bx
jmp 0x44b822
lea edx, reloc.KERNEL32.dll_GetProcAddress
mov dh, 0x29
bswap edx
jmp 0x44b87f
mov dx, bp
mov dx, bx
mov dl, bh
jmp 0x44b2e8
sub esp, 7
xchg dl, dh
lea esp, [esp + 3]
call fcn.0044b913
cmpsd dword [esi], dword es:[edi]
aas
scasd eax, dword es:[edi]
retf 0xf239
mov eax, dword [eax - reloc.KERNEL32.dll_GetProcAddress]
setg dl
shr edx, cl
ja 0x44b869
jbe 0x44b94d
sbb dword [esi], 0xe026eb8c
out dx, eax
test byte [ebp + 0x8514], 0
add byte [edi], cl
wait
invalid
lea edx, [eax*4]
setnp dh
jmp 0x44b9d6
rcr dl, cl
jno 0x44b92f
mov dx, 0x518c
lea edx, [ecx*4]
jmp 0x44b971
jmp 0x44b917
mov dx, 0x518c
lea edx, [ecx*4]
jmp 0x44b971
sub esp, 7
xchg dl, dh
lea esp, [esp + 3]
jmp 0x44b326
push eax
ret
mov esp, edi
mov dl, byte [esp]
lea edx, [esp + edx]
not dx
bsf dx, si
jmp 0x44b99c
jge 0x44b95b
jl 0x44b95b
not edx
jmp 0x44ba74
lea edx, [eax*4]
setnp dh
shl eax, 2
neg edx
jmp 0x44b838
xchg dh, ah
bswap edx
bswap edx
setbe al
call fcn.0044b9f6
mov edx, 0x8f1c0442
mov ah, 0xcc
and ax, 0x2142
jmp 0x44ba11
mov eax, ebx
lea edx, reloc.KERNEL32.dll_GetProcAddress
btr dx, cx
jae 0x44b9cc
jb 0x44b89a
lea edx, reloc.KERNEL32.dll_GetProcAddress
lea edx, reloc.KERNEL32.dll_GetProcAddress
lea edx, [edx + edi]
jmp 0x44bb31
neg byte [0x148d0000]
cmp ch, bl
or al, 0x6c
jg 0x44bb6e
int1
invalid
not edx
inc bl
setge dl
rcl ah, 4
jge 0x44bc52
jl 0x44bc52
in al, 0x77
out 0x82, eax
jno 0x44bb1c
push 0xd66899fe
add eax, 0xf9fce280
and dl, 0xfc
stc
jle 0x44b417
jg 0x44b417
lea eax, reloc.KERNEL32.dll_GetProcAddress
lea eax, [ecx*4]
jmp 0x44bbb2
add byte [eax], al
add bl, ch
aas
lodsd eax, dword [esi]
movsb byte es:[edi], byte ss:[esi]
ret
jmp 0x44bc39
sub bl, 0xf8
mov edx, esp
sbb al, ah
jl 0x44cb28
mov ax, word [esp]
jmp 0x44bfda
call fcn.0044bb9a
sub esp, 0x14
jb 0x44bc90
bsf dx, cx
jmp 0x44bc94
lea eax, reloc.KERNEL32.dll_GetProcAddress
lea esp, [esp + 2]
jmp 0x44bcba
seto bh
xchg bh, dl
lea ebx, reloc.KERNEL32.dll_GetProcAddress
lea ebx, [edx + esi]
jmp 0x44bc99
bsf dx, cx
mov dword [ebx + edi], eax
jmp 0x44bc7a
add ebp, 4
mov edx, dword [esp]
mov ebx, 0x976cf576
call fcn.0044c2c3
xchg esi, eax
sbb ecx, dword [ebx - 0x120e212]
lea eax, reloc.KERNEL32.dll_GetProcAddress
lea esp, [esp + 2]
mov eax, dword [ebp]
mov dh, 0xb2
jmp 0x44bc57
and ebx, 0x3c
mov ah, byte [esp]
sub esp, 0xa
ja 0x44bcb0
jbe 0x44bc6e
xchg dword [esp], ebp
bts dx, ax
mov dx, word [esp]
sub dx, bx
btr dx, sp
lea ebp, [ebp + 0x3e]
jmp 0x44c047
setg dl
mov dx, 0x452
push dword [esp]
ret 4
bsf eax, edi
adc dx, sp
lea eax, reloc.KERNEL32.dll_GetProcAddress
xchg dword [esp], ebp
lea edx, [edx*4]
mov al, dh
jmp 0x44c027
mov ax, word [esp]
jmp 0x44bfda
jo 0x44b2c2
lea esp, [esp + 1]
jmp 0x44b2c6