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

Disassembly:
mov ecx, dword [esp + 0x34]
jmp 0x8c25ac
je 0x759f9d
push 0x104
mov dx, sp
cwd
lea edx, [esp + 0x6d8]
jmp 0x71b177
push 0x1fffff
jmp 0x578f1e
jmp 0x7e4ce1
call fcn.00403120
mov eax, dword [0x52be5c]
mov dword [esp + 0x64], ebx
stc
mov dword [esp + 0xdc], edi
clc
test ecx, edi
cmp edi, 0xe2b7b36
mov dword [esp + 0xe0], ebx
test bh, 0x9d
mov dword [esp + 0x48], 0x18
mov dword [esp + 0x4c], ebx
stc
cmp ecx, edi
mov dword [esp + 0x50], ebx
cmp ah, al
mov dword [esp + 0x54], ebx
cmp esi, edx
clc
test esp, 0x34d16656
mov dword [esp + 0x58], ebx
stc
test cx, sp
mov dword [esp + 0x5c], ebx
jmp 0x838e9c
push ebx
jmp 0x587337
mov esi, dword [esp + 0x28]
setb cl
movsx ecx, di
jmp 0x42dd4e
push edx
mov cl, dh
cwde
bswap eax
lea eax, [esp + 0xb14]
movsx edx, si
bswap dx
push eax
jmp 0x5ecdb4
je 0x8535d1
lea eax, [esp + 0x4d4]
mov cl, ch
not ch
xchg ch, ch
push eax
movzx ecx, sp
bswap ecx
cmovge ecx, edi
lea ecx, [esp + 0xb10]
jmp 0x5e1c66
call fcn.0056e531
add esp, 0x1c
jmp 0x7ed936
call 0x73101f
mov dword [esp + 0x64], eax
adc di, di
bts di, bp
mov edi, eax
cmp di, si
jmp 0x839c22
call dword [0x4e7438]
push eax
call esi
lea eax, [esp + 0x678]
cmovg ecx, esp
movzx ecx, si
jmp 0x61d244
push 0x414700
jmp 0x5b6b50
push ebx
jmp 0x40340d
call fcn.00441650
mov eax, dword [esp + 0xe4]
mov edi, dword [esp + 0xa4]
test sp, 0x35de
test eax, esi
jmp 0x7ad016
mov edi, dword [esp + 0x14]
jmp 0x82c4f3
lea ecx, [esp + 0x4c]
push ecx
push 0x1fffff
movzx edx, dx
lea edx, [esp + 0x70]
jmp 0x5eb9bd
push ecx
jmp 0x7947ed
call fcn.00460929
xor ecx, ecx
inc cl
ror cl, 9
not cl
cmp eax, ebx
setne cl
jmp 0x6c37b7
push ecx
jmp 0x740fde
push edx
jmp 0x865ebe
push edx
jmp 0x81de9d
lea ecx, [esp + 0x950]
movsx edx, bp
setp dl
cmovnp dx, bx
push ecx
cdq
bswap dx
push 6
xchg edx, edx
cdq
lea edx, [esp + 0x2e0]
jmp 0x7fd0c4
test eax, eax
jmp 0x56e20c
push ebx
not dx
mov edx, eax
jmp 0x79a1d8
mov dword [esp + 0x48], 0x18
mov dword [esp + 0x4c], ebx
cmp dl, 0x91
test edx, 0x7a8a6bfc
mov dword [esp + 0x50], ebx
clc
test ah, ah
mov dword [esp + 0x54], ebx
cmc
clc
stc
mov dword [esp + 0x58], ebx
test bp, 0xb4f
jmp 0x646a35
push 0x414700
push ebx
jmp 0x7f9181
push ebx
jmp 0x88dda6
push eax
lea ecx, [esp + 0xb10]
jmp 0x761cc0
mov dword [esp + 0x5c], ebx
stc
cmp eax, ebx
jmp 0x7c0607
mov dword [esp + 0x18], eax
mov byte [esp + 0x1440], 8
jmp 0x5d8c4d
push ecx
jmp 0x75a931
je 0x8a863b
cmp eax, dword [esp + 0x8c]
jmp 0x8a8635
call fcn.006f8a78
mov dword [esp + 0x34], eax
stc
cmp eax, ebx
jmp 0x76b7ef
je 0x7353d4
lea ecx, [esp + 0x44c]
push ecx
cwd
mov dl, 0xf
bswap dx
lea edx, [esp + 0xb10]
jmp 0x5e2fe7
call fcn.00471869
lea esp, [esp + 8]
cmp bp, di
test dx, 0x68ea
jmp 0x77f3bd
call 0x634a67
push esi
call dword [0x4e743c]
mov edx, dword [esp + 0x14]
xchg ch, ah
bswap eax
push edx
not dh
lahf
lea eax, [esp + 0x6d8]
push eax
cwde
mov al, dh
lea ecx, [esp + 0xb14]
cwde
jmp 0x72a995
push eax
call fcn.00471869
add esp, 8
cmp dh, 0xdb
test dx, bp
test eax, eax
jne 0x582976
mov edi, dword [esp + 0x14]
jmp 0x781188
call fcn.006f8a78
mov esi, eax
cmp eax, esi
jmp 0x8250bf
je 0x88ddb3
push 0x104
cdq
lea edx, [esp + 0x6d8]
jmp 0x7cc0ad
inc eax
cmc
cmp cl, bl
jmp 0x78cefb
call dword [0x4e7438]
push eax
call dword [0x4e743c]
lea eax, [esp + 0xb0c]
cwd
dec cl
lea edx, [eax + 1]
mov cl, 0x31
nop
xchg cl, cl
mov cl, 0x60
mov cl, byte [eax]
jmp 0x8682cb
cmp ecx, ebx
jmp 0x7f4b9e
push ecx
jmp 0x6f33a7
call fcn.0046ea50
add esp, 8
stc
test eax, eax
jmp 0x449e80
push edx
call fcn.00406d30
lea eax, [esp + 0x14]
cmova di, dx
push eax
sete cl
lea ecx, [esp + 0xe8]
movsx edi, bp
push ecx
bswap di
xchg di, di
lea edi, [esp + 0x94]
jmp 0x5ba360
push ebx
push eax
jmp 0x811798
lea edx, [esp + 0x46c]
mov al, 0x8b
not eax
lahf
push edx
lea eax, [esp + 0xb10]
jmp 0x74d2d4
push ecx
call fcn.0046ea50
lea esp, [esp + 8]
stc
test eax, edx
test eax, eax
jne 0x8cc459
lea edx, [esp + 0x48c]
push edx
movsx ax, ch
cmovp eax, ecx
movzx eax, di
lea eax, [esp + 0x6d8]
push eax
call fcn.0046ea50
add esp, 8
cmp ecx, esi
jmp 0x8cc451
push edx
jmp 0x8797b4
jne 0x578f2e
push edi
jmp 0x7d4fb9
push ecx
cbw
lahf
mov al, bl
lea edx, [esp + 0x950]
push edx
bswap eax
push 0xf
lea eax, [esp + 0x2e0]
jmp 0x73892f
jne 0x8535d1
lea eax, [esp + 0x944]
not cl
cmovb dx, cx
movsx dx, dh
lea edx, [eax + 1]
mov cl, byte [eax]
jmp 0x43379a
push 0x4d
push eax
jmp 0x8a2e69
call fcn.0046ea50
lea esp, [esp + 8]
test bp, 0x1874
test eax, eax
jne 0x5cb284
lea eax, [esp + 0x3e4]
movzx ecx, bp
push eax
mov ecx, 0x16cd5a8b
lea ecx, [esp + 0x948]
push ecx
jmp 0x6d4c64
call fcn.00471869
add esp, 8
stc
cmc
test eax, eax
jmp 0x8cd9a0
push eax
jmp 0x797e0a
push ecx
push ebx
jmp 0x8160fe
test eax, eax
je 0x69d9eb
lea edx, [esp + 0x4e0]
push edx
cmovge eax, eax
lea eax, [esp + 0xb10]
jmp 0x69d9d4
call 0x79520e
push edi
call esi
lea eax, [esp + 0x454]
movzx cx, ch
push eax
bswap cx
lea ecx, [esp + 0x6d8]
jmp 0x6fe6f5
call fcn.0056e531
add esp, 0x1c
push ebx
push ebx
jmp 0x53af64
push ebx
jmp 0x8bdc32
push ebx
jmp 0x7b9f23
push ecx
jmp 0x690742
je 0x69369b
push 0x104
mov ecx, 0x50eb0f2c
movsx ecx, ax
lea ecx, [esp + 0x6d8]
jmp 0x7518a7
je 0x8c25b3
push 0x104
cdq
movzx edx, ax
bswap dx
lea ecx, [esp + 0x6d8]
xchg dh, dl
push ecx
seto dh
movzx dx, dl
jmp 0x5fbedb
mov cl, byte [eax]
jmp 0x7c940c
mov dword [esp + 0xcc], edi
clc
mov dword [esp + 0xd0], ebx
jmp 0x5ffb6e
call fcn.0046ea50
lea esp, [esp + 8]
cmc
stc
test eax, eax
jmp 0x7353ce
je 0x42dd4e
lea eax, [esp + 0x6d4]
lea edx, [eax + 1]
jmp 0x82e452
test eax, eax
jne 0x6fd787
mov edi, dword [esp + 0x14]
jmp 0x538435
call 0x720841
mov dword [esp + 0x70], eax
mov edi, eax
cmp bx, sp
clc
cmp eax, ebx
jmp 0x5332c8
call fcn.00403120
mov eax, dword [0x52be5c]
test ecx, edx
mov dword [esp + 0x70], ebx
jmp 0x776082
jne 0x8ae128
sub eax, edx
jmp 0x8c2a49
push edx
jmp 0x87b0ea
push eax
jmp 0x8a7dfe
call eax
mov eax, dword [esp + 0x70]
test ebx, eax
cmp eax, ebx
jmp 0x884284
lea ecx, [esp + 0x1c]
jmp 0x7fc2b4
call fcn.00471869
lea esp, [esp + 8]
cmc
test eax, eax
jne 0x8ae119
call fcn.00460929
sub ecx, ecx
sub cl, 0xd7
not cl
cmp eax, ebx
setne cl
cmp ecx, ebx
je 0x80ed99
mov edx, dword [eax]
not ecx
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
jmp 0x64f4cb
push edx
jmp 0x7fd7d9
push edx
jmp 0x42e46d
push 0x1fffff
jmp 0x7803d0
cmp eax, ebx
jmp 0x65afa4
je 0x8117a0
push 0x104
lea ecx, [esp + 0x6d8]
jmp 0x6d3185
push ebx
jmp 0x7a2fbd
push 0x414700
jmp 0x7602b0
je 0x88428a
lea ecx, [esp + 0xcc]
xchg edx, edx
push ecx
mov dl, al
not cl
lea edx, [esp + 0x4c]
setge ch
push edx
bswap cx
movzx ecx, cx
push 0x1fffff
movzx cx, ch
not cl
lea ecx, [esp + 0x7c]
jmp 0x5d8021
call fcn.00406510
lea esp, [esp + 4]
clc
stc
cmp dword [esp + 0x20], ebx
jle 0x540e30
lea eax, [esp + 0x18]
mov edx, 0x7d955def
push eax
mov dl, 0x58
movsx edx, cx
not dh
mov edx, 0x511a88
jmp 0x81dd50
inc eax
cmp bx, di
stc
test esi, ecx
cmp cl, bl
jmp 0x812fc5
call eax
lea esi, [eax + 0x10]
mov dword [esp + 0x28], esi
mov byte [esp + 0x1440], 9
mov edi, dword [esp + 0x14]
jmp 0x674592
push edx
jmp 0x60379c
push ebx
jmp 0x5337e4
push 0xbbccac31
call fcn.00811011
push ecx
jmp 0x8122a2
jne 0x7353d4
lea eax, [esp + 0x414]
push eax
lea ecx, [esp + 0x948]
jmp 0x882ecf
push eax
jmp 0x759f95
push ebx
push ebx
jmp 0x7610aa
je 0x80ed99
mov edx, dword [eax]
movsx ecx, bx
mov cl, al
mov ecx, eax
not eax
mov ah, 0xd4
mov eax, dword [edx + 0xc]
jmp 0x7c971c
push ebx
jmp 0x80ee07
push ebx
jmp 0x6b694e
jne 0x6b6970
sub eax, edx
jmp 0x831f10
push ecx
call fcn.00406d30
lea edx, [esp + 0x14]
jmp 0x4344c9
push 0x4d
push edx
jmp 0x56e7af
call 0x7ac6f8
test eax, eax
jmp 0x77deee
push eax
call fcn.0046ea50
lea esp, [esp + 8]
test eax, eax
jmp 0x449fa2
push ebx
jmp 0x600f63
call 0x5c5192
push edi
call esi
lea edx, [esp + 0x3ec]
movzx eax, cx
push edx
not eax
lea eax, [esp + 0x6d8]
jmp 0x7fdf34
call fcn.00471869
add esp, 8
jmp 0x755f58
jne 0x77466f
lea ecx, [esp + 0x6d4]
sub eax, edx
not dh
xchg dl, dh
push ecx
xchg dh, dl
cmovo edx, ecx
cwd
lea edx, [esp + 0x1c]
jmp 0x6eb48a
push esi
jmp 0x69368f
call fcn.00406b40
mov esi, dword [esp + 0x28]
mov eax, dword [esi - 0xc]
xchg ch, ch
push esi
mov cx, sp
jmp 0x795d00
call eax
mov eax, dword [esp + 0x64]
cmc
cmp eax, ebx
jmp 0x7234c4
cmp esi, ebx
jmp 0x6afb3c
call fcn.006f8a78
mov esi, eax
stc
clc
cmp edx, 0x3634383f
cmp esi, ebx
jmp 0x7639fc
jmp 0x77466f
je 0x7a48bf
lea ecx, [esp + 0x38c]
push ecx
mov edx, 0x7190381c
lea edx, [esp + 0xb10]
jmp 0x78fbde
cmp eax, ebx
je 0x7234ca
lea edx, [esp + 0xdc]
push edx
cmove cx, cx
xchg ecx, ecx
jmp 0x5cc5c0
cmp eax, ebx
jmp 0x7b6aba
push 0x4d
jmp 0x7a0e63
mov edi, dword [esp + 0x14]
jmp 0x69fae3
je 0x8535d1
lea eax, [esp + 0x944]
lea edx, [eax + 1]
dec cl
inc cl
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jmp 0x8696c1
call fcn.00471869
lea esp, [esp + 8]
test eax, eax
jmp 0x7e4d8f
inc eax
stc
cmp cl, bl
jmp 0x7fb7ff
jne 0x85a329
sub eax, edx
jmp 0x683948
push ebx
jmp 0x7ecc35
call fcn.00471869
lea esp, [esp + 8]
jmp 0x5f2de9
push ecx
jmp 0x77ab1e
jne 0x7803d9
push edi
jmp 0x7b810d
jne 0x42dd4e
push 1
cmovge si, bp
xchg al, al
mov esi, 0x50f493
cbw
movsx eax, bx
mov al, ah
lea eax, [esp + 0x6d8]
mov dword [esp + 0x24], ebx
call fcn.004064a0
lea edx, [esp + 0x24]
bsr cx, sp
not cx
inc di
add esp, 4
xchg di, cx
push edx
movzx edi, si
lea edi, [esp + 0x2c]
lea ecx, [esp + 0x6d8]
jmp 0x7c2551
push esi
call 0x757c9b
push esi
call dword [0x4e743c]
mov eax, dword [esp + 0x14]
push eax
movzx edx, ax
lea ecx, [esp + 0x6d8]
push ecx
cwd
xchg edx, eax
movsx ax, cl
lea edx, [esp + 0xb14]
cbw
nop
push edx
movzx eax, sp
lea eax, [esp + 0x950]
push eax
push ebx
mov ecx, 0x602843d0
push 0x4d
movzx cx, al
xchg ecx, ecx
not ecx
lea ecx, [esp + 0x2e4]
jmp 0x657bf0
call fcn.0056e531
add esp, 0x1c
push ebx
jmp 0x7f8826
call fcn.00471869
lea esp, [esp + 8]
test edi, ebx
test eax, eax
jmp 0x85a30e
je 0x8a8640
call fcn.0046e5b0
cmp dword [esp + 0xe8], edi
jmp 0x8862f1
lea eax, [esp + 0x944]
lea edx, [eax + 1]
inc cl
nop
inc cl
mov cl, byte [eax]
jmp 0x6b34df
push ebx
jmp 0x58296d
mov edx, dword [esp + 0x14]
cbw
mov edi, dword [esp + 0x18]
mov ecx, esi
lahf
cbw
push edx
movzx ecx, bp
lahf
push edi
bswap cx
lea eax, [esp + 0xb14]
push eax
not ecx
cwd
lea ecx, [esp + 0x950]
movsx edx, si
not dh
push ecx
mov dl, 0x25
cdq
push 0x38
bswap edx
lea edx, [esp + 0x2e0]
jmp 0x84533c
je 0x6b695b
lea ecx, [esp + 0x47c]
cdq
xchg dx, dx
cwd
push ecx
cdq
lea edx, [esp + 0x948]
push edx
jmp 0x73b139
test eax, eax
je 0x582976
mov ecx, dword [esp + 0x14]
movsx ax, bl
push ecx
lea edx, [esp + 0x6d8]
jmp 0x56cde2
je 0x8535d1
lea edx, [esp + 0x494]
nop
cbw
movzx ax, dl
push edx
cbw
lahf
movsx eax, ax
lea eax, [esp + 0xb10]
jmp 0x790fce