Function at 0x54e712
Capabilities:
Execute anti-debugging instructions
Resolve function by parsing pe exports

Disassembly:
test ecx, ecx
jmp 0x54e571
std
cmpsd dword [esi], dword es:[edi]
into
pop ecx
mov eax, 0xe18a609b
pushal
mov ah, cl
popal
call fcn.005156a7
jb 0x515689
jg 0x5156b6
jmp 0x9651eee5
jmp 0x51568f
lahf
out 0x11, al
lea esp, [esp + 8]
jmp 0x54e6e1
jne 0x54e5dd
je 0x54e5aa
mov al, 0xc5
xor eax, eax
ret
call 0x54e55b
jmp 0x5156a5
jmp 0x54e845
mov esi, 0x341ecd9
jmp 0x54e8c0
invalid
lea esi, reloc.MSVCRT.dll_strncpy
mov cx, 0xb832
call fcn.0054e7f1
inc edx
leave
pop ecx
cmp bl, cl
jge 0x54e624
cmp edi, dword [eax + 0xc]
jmp 0x54e645
jae 0x54eb7d
jb 0x54e8a7
xor eax, ebx
push ebx
lds esi, ss:[ecx + 6]
mov cl, 0xb0
mov bl, 0x8b
inc ebp
invalid
mov ebx, dword [esi + 4]
jmp 0x54eb64
push ecx
jmp 0x54ea7d
pop ebx
jmp 0x54ea99
inc dword [ebp - 0xc]
lea eax, [edx*4]
xchg ah, al
jmp 0x54ec41
lea esp, [esp + 0x14]
mov ebp, esp
sub esp, 0x12
mov byte [esp + 3], ch
jmp 0x54e702
push ebp
cmc
sub esp, 0x14
mov ebp, dword [esp + 8]
jmp 0x54e6cb
lea esp, [esp + 6]
call fcn.0054e6ec
push esi
call 0x54e712
or byte [esi - 0x71], ah
add al, 0x24
mov word [esp], di
lea esp, [esp + 2]
jmp 0x54e757
sub esp, 0xc
jmp 0x54e964
mov ebx, ebp
jmp 0x54e763
push edi
lea edi, [esi + 0xcf]
mov edi, eax
push ebx
jmp 0x54e741
lea ebx, [ebx + 8]
mov edi, dword [ebx]
pop ebx
push ebx
push word [esp]
jmp 0x54e85b
jmp 0x54ec85
lea ecx, [eax + ebp]
movzx ecx, word [edx + 4]
call fcn.0054e791
cmp cx, si
jmp 0x54e80a
mov edx, ebx
mov edx, eax
call fcn.00515625
mov cl, byte [esp]
jmp 0x54e7a7
lea esp, [esp + 4]
jne 0x54e602
je 0x54e626
push ebx
jmp 0x54e838
mov ebx, ebp
lea ebx, [ebx - 8]
mov dword [ebx], esi
pop ebx
jmp 0x54ea15
push edi
pop word [esp]
lea esp, [esp + 2]
jmp 0x54e607
lea esp, [esp + 2]
lea esp, [esp + 4]
call fcn.00514167
mov edx, 0x5ee53b26
setno dl
jmp 0x54e7e3
lea esp, [esp + 0xc]
je 0x54e626
push esi
mov ch, byte [esp]
jmp 0x54e89b
stc
sub esp, 0xa
sub esp, 4
lea esp, [esp + 2]
cmp cx, si
jmp 0x54e875
mov ecx, dword [ebp + 8]
lea esp, [esp + 4]
jmp 0x54e63c
cmp ecx, edi
sbb eax, eax
jmp 0x54e927
lea esi, reloc.MSVCRT.dll_strncpy
pushal
push word [esp + 0x18]
lea esp, [esp + 2]
lea esp, [esp + 0x20]
jmp 0x54e88b
mov word [esp + 0x17], ax
add esp, 0xd
sub esp, 0x1b
lea esp, [esp + 2]
jmp 0x54e8fe
push ebx
push word [esp + 1]
lea esp, [esp + 2]
movzx ecx, word [edx + 6]
pushal
jmp 0x54e8d6
lea esp, [esp + 0x30]
and dword [ebp - 0xc], 0
sub esp, 2
lea esp, [esp + 2]
jmp 0x54e9bf
not eax
sub esp, 3
lea esp, [esp + 3]
and eax, edi
jmp 0x54ea99
sub edi, ebp
call 0x54e995
mov edi, dword [esi]
not cl
cmc
mov ch, 2
mov ecx, dword [esi + 8]
jmp 0x54e9a1
lea esp, [esp + 8]
test ecx, ecx
call fcn.0054e958
mov word [esp + 9], cx
mov eax, dword [esi + 0xc]
cmp cl, dh
jmp 0x54e96b
lea esp, [esp + 0x10]
test eax, eax
je 0x54e6b5
lea edx, reloc.MSVCRT.dll_strncpy
jmp 0x54e9e7
push ebx
sub esp, 8
mov word [esp + 4], ax
mov dword [esp + 3], ecx
mov dword [ebp - 0x14], ecx
jmp 0x54e98a
lea esp, [esp + 2]
jmp 0x54e9f3
xor edx, edx
btc ax, si
mov eax, edi
push dx
jmp 0x54e9d1
div dword [ebp - 4]
ror ax, cl
cmp ax, 0x48b7
mov eax, edx
jmp 0x54ea42
mov esi, dword [edx + 0x38]
mov dword [ebp - 4], esi
lea esp, [esp + 0xc]
jmp 0x54e63c
test edx, edx
call 0x54ea24
lea esi, [esi - 4]
mov eax, dword [esi]
pop esi
jmp 0x54e67f
cmc
jmp 0x54ea49
mov ebx, dword [ebp - 8]
jmp 0x54eb01
mov edx, dword [ebp - 4]
not bl
not ebx
neg bx
jmp 0x54ea67
call 0x54e69b
sub eax, dword [edx - 3]
inc eax
jg 0x54ea64
xchg esi, eax
jge 0x54eae1
push es
mov ecx, 0x5fccc7bf
cmpsb byte [esi], byte es:[edi]
ror dword [ebp - reloc.MSVCRT.dll_strncpy], 1
sub esp, 5
lea esp, [esp + 4]
div ebx
sub esp, 5
push dword [esp + 3]
jmp 0x54eae5
mov al, 0xcf
xor edx, edx
ror ah, cl
mov eax, ecx
jmp 0x54eaaf
push ecx
jmp 0x54eb21
pop esi
dec edx
in eax, 0x14
push dword [esp + 5]
lea esp, [esp + 1]
jmp 0x54eacf
sub edx, eax
bswap eax
add edi, edx
rdtsc
jmp 0x54eac5
stc
pushal
lea esp, [esp + 0x20]
popal
jmp 0x54eb4f
pushal
cpuid
cpuid
cmc
mov dword [esp + 0x18], ebp
jmp 0x54eb0b
lea esp, [esp + 0xc]
test edx, edx
jne 0x54e669
jmp 0x54eb5c
add ecx, 0xfffffff0
mov dword [ecx], edx
pop ecx
cmc
clc
jmp 0x54eb2d
mov dword [ebp - 0x10], ebx
jmp 0x54e669
cmp dword [ebp + 8], ebx
jb 0x54e6b5
jae 0x54ee5e
cmp esp, dword [edi + reloc.MSVCRT.dll_strncpy]
pop edx
mov ch, 0xa4
xlatb
jmp 0x54e8ed
bswap ecx
call fcn.0054ec62
lea esp, [esp + 2]
lea esp, [esp + 0x1c]
popal
jmp 0x54ec4c
mov eax, 0x88aee92
mov al, dh
push ebx
pushal
jmp 0x54ec1d
add ebx, 0xfffffff4
mov eax, dword [ebx]
pop ebx
push bp
lea esp, [esp + 2]
jmp 0x54ec73
add esi, 0x28
cmp eax, dword [ebp - 0x14]
jl 0x54e72b
jge 0x54e77b
xor eax, eax
jmp 0x54e695
push ax
call fcn.0054f687
sbb dword [eax + 0x5b], edi
mov dl, 0x1b
mov ch, 0xa2
push edx
scasb al, byte es:[edi]
jmp 0x54ee6e
or eax, 0x95d7320a
add al, 0xb7
add edi, ebx
push eax
call fcn.0054ec10
call fcn.0054f167
into
test esp, 0xe436c71d
or ecx, dword [ebp - 0x35]
sub bl, byte [esi]
lea ebx, reloc.MSVCRT.dll_strncpy
sbb eax, 0xbe436c7
dec esp
movsd dword es:[edi], dword [esi]
retf
add byte [eax], al
mov eax, 0xa216edc0
adc ebx, dword [eax + reloc.MSVCRT.dll_strncpy]
pushal
int1
or byte [ebx - 0x3d36823e], ch
add al, 0
imul ecx, dword [ebx + reloc.MSVCRT.dll_strncpy], 0x44
pop es
cld
cwde
push cs
in al, dx
jno 0x54ee7f
dec esp
fbld tbyte [esi]
push ecx
sub esp, 3
jmp 0x54eeb1
lea esp, [esp + 3]
mov cx, word [eax]
call fcn.0054f80f
xchg esp, eax
pop es
scasb al, byte es:[edi]
jns 0x54ee56
and dh, byte [edx + 0xb]
sbb esp, edi
lcall 0xd2fb, 0x98b9a8a0
stc
jmp 0x54f52c
push ebp
mov ebp, edi
add ebp, 2
jmp 0x54f55c
lea esp, [esp + 0x1c]
inc edi
jmp 0x54f57c
mov cx, word [ebp]
pop ebp
sub esp, 0x1c
stc
jmp 0x54f534
inc edi
sub esp, 7
lea esp, [esp + 3]
jmp 0x54f5b8
jne 0x54eece
bsr ecx, edi
mov ch, 0xfb
dec ch
jmp 0x54f6f0
lea esp, [esp + 4]
test cx, cx
push dx
lea esp, [esp + 2]
jmp 0x54f5a2
mov si, word [esp]
lea esi, [ebx*4]
mov esi, edx
call fcn.0054f612
mov ax, word [edi]
jmp 0x54f691
lea esp, [esp + 8]
inc edi
inc edi
stc
jmp 0x54f6d0
test ax, ax
jne 0x54ee10
cmp dword [ebp - 0x10], 0
call 0x54f69a
sub dword [eax - 0x15], ecx
add ah, byte [edi + ebp*8 + 0x32]
jb 0x54f6f6
or bh, byte ds:[ebp - 0x3774427d]
mov ecx, eax
cmc
shr ecx, 2
mov si, 0xb967
jmp 0x54f65f