Function at 0x43cc51
Capabilities:
Encode data using base64
Execute anti-debugging instructions

Disassembly:
call 0x407f98
lea eax, [ebp - 0x120]
mov ecx, dword [ebp - 4]
not dh
mov edx, dword [ebp - 0xc]
jmp 0x59b245
call fcn.00407a4c
mov ecx, dword [ebp - 0xcc]
jmp 0x571237
mov al, 1
jmp 0x51ab3b
mov edx, 0x1d
call fcn.004043f0
lea eax, [ebp - 0xd0]
xchg edx, edx
setbe dl
movsx edx, sp
mov edx, 2
jmp 0x4da02a
call fcn.00402d2c
mov eax, dword [ebp - 0x74]
movsx edx, bp
not edx
lea edx, [ebp - 0x70]
jmp 0x495a5d
call fcn.00407e8c
test al, al
jmp 0x564ce7
pop edx
pop ecx
xchg cl, ch
movsx ecx, bx
jmp 0x445ec4
mov dword fs:[eax], edx
jmp 0x58d573
call fcn.0058652d
mov eax, dword [ebp - 0x14c]
jmp 0x44600f
lea edx, [ebp - 0xbc]
xor eax, eax
jmp 0x51410b
xor eax, eax
jmp 0x445f94
je 0x4ddc13
cmp ebx, 0xbb8
jmp 0x4ddc0d
call fcn.004046b4
mov eax, dword [ebp - 0x11c]
jmp 0x58d7ee
mov byte [ebp - 0xc6], 0xe
bswap ax
movzx eax, ax
cwd
mov byte [ebp - 0xc5], 0x3e
mov byte [ebp - 0xc4], 0x65
mov byte [ebp - 0xc3], 0x73
cmovo dx, si
lahf
cwd
mov byte [ebp - 0xc2], 0x70
xchg edx, edx
lea eax, [ebp - 0xc8]
mov edx, 6
call fcn.0058652d
mov edx, dword [ebp - 0x148]
cmovp ax, bp
pop eax
jmp 0x53aa50
push ebp
mov ebp, esp
setnp ch
movzx cx, al
mov ecx, 0x2e
jmp 0x58ee7a
push eax
lahf
setl ah
lea ecx, [ebp - 0xc0]
mov dx, 0x48
mov byte [ebp - 0xc8], 0x8c
mov byte [ebp - 0xc7], 6
movzx dx, ch
mov ax, ax
not ah
mov byte [ebp - 0xc6], 0x3d
mov byte [ebp - 0xc5], 0x51
xchg ah, ah
mov byte [ebp - 0xc4], 0x55
movsx eax, di
xchg dl, ah
cdq
mov byte [ebp - 0xc3], 0x5a
mov byte [ebp - 0xc2], 0x4e
movzx edx, bp
cwde
lea eax, [ebp - 0xc8]
cdq
jmp 0x4d87e4
je 0x4bef4a
mov eax, dword [0x418894]
jmp 0x4bef16
call 0x4284c2
jmp 0x4fac8d
call fcn.004046b4
mov eax, dword [ebp - 0x10c]
cdq
movsx edx, si
lea edx, [ebp - 0x108]
call fcn.00408000
mov eax, dword [ebp - 0x108]
jmp 0x42e181
je 0x4f9624
lea ecx, [ebp - 0x6c]
lahf
bswap edx
mov dx, bx
mov edx, 0x95c2af90
mov eax, 0x10
jmp 0x48f7b9
call fcn.00404868
push eax
lahf
rdtsc
push 0
setbe cl
push 0x20
jmp 0x4cbad2
pop ecx
jmp 0x42efe6
call fcn.00404868
push eax
cmovbe ax, bp
jmp 0x5135a4
push ebp
push 0x4a1a3c
push dword fs:[eax]
mov dword fs:[eax], esp
jmp 0x4696d2
call fcn.00404868
push eax
lea edx, [ebp - 0x158]
nop
mov eax, dword [0x418894]
jmp 0x590822
call fcn.004043f0
lea eax, [ebp - 0xc]
cwd
mov dh, 0xf
not dx
mov edx, 3
call fcn.004043f0
ret
call fcn.00402d2c
mov eax, dword [ebp - 0x124]
jmp 0x445eef
call fcn.00408000
mov edx, dword [ebp - 0x94]
lea eax, [ebp - 8]
cmova cx, bx
pop ecx
jmp 0x4bf7fe
call fcn.00404668
mov ebx, eax
cmp esi, edx
test dx, 0x68f0
test esp, esp
cmp byte [0x4173cc], 0
jmp 0x4c3e5f
call fcn.00408000
lea eax, [ebp - 0x144]
movsx ecx, di
push eax
jmp 0x579a94
lea eax, [ebp - 0x50]
push eax
lahf
jmp 0x593711
call fcn.004045c4
mov eax, dword [ebp - 0x134]
cdq
movzx edx, bp
lea edx, [ebp - 0x130]
jmp 0x463fbd
call fcn.0040c90c
mov edx, dword [ebp - 0x130]
jmp 0x46ffbc
call fcn.0050b4fa
test al, al
jmp 0x585122
call fcn.00402d2c
cmp dword [ebp - 0x174], 0
jmp 0x435d5e
call fcn.004043f0
lea eax, [ebp - 0x15c]
mov edx, 2
jmp 0x4948d5
mov eax, 0x418894
jmp 0x5200cd
jmp 0x51ab3b
call fcn.0058652d
mov eax, dword [ebp - 0xc0]
cmp si, ax
push eax
mov eax, ebx
cmp edi, edx
cmc
sub edx, edx
jmp 0x5364a1
cmp byte [0x4173cc], 0
jmp 0x4afaef
lea eax, [ebp - 0xd8]
mov edx, 0xe0139b
mov dh, cl
mov edx, 7
jmp 0x5570e4
call fcn.0046ed32
mov eax, dword [ebp - 0x6c]
call fcn.00404868
mov edx, eax
xchg al, ah
movzx ax, ch
lea eax, [ebp - 0x68]
jmp 0x54efef
call fcn.0050672a
jmp 0x539ca6
call fcn.0058652d
mov eax, dword [ebp - 0x9c]
cdq
inc dl
push eax
lea edx, [ebp - 0xb8]
jmp 0x4f2205
call fcn.004046b4
mov eax, dword [ebp - 0x114]
lea edx, [ebp - 0x110]
jmp 0x5086fb
call fcn.004043f0
lea eax, [ebp - 0x14c]
jmp 0x429889
mov edx, dword [ebp - 0xc]
jmp 0x4c5b9f
call fcn.00408034
mov eax, dword [ebp - 0x70]
jmp 0x44d924
call fcn.0056c9a4
mov ebx, eax
test bp, dx
cmp byte [0x4173cc], 0
jmp 0x536764
mov edx, 6
jmp 0x5718f3
call fcn.00402d2c
cmp byte [0x4173cc], 0
jmp 0x513332
call fcn.00408000
cmp byte [0x4173cc], 0
je 0x50870b
lea eax, [ebp - 0x10c]
cmove edx, edi
mov ecx, dword [ebp - 4]
xchg dl, dh
not edx
movsx dx, dh
mov edx, dword [ebp - 0xc]
jmp 0x443684
call fcn.00403224
mov dword [ebp - 0x50], 0x44
not ah
movsx eax, bp
jmp 0x540cf8
call 0x4efb7d
xor eax, 0x4e31d1
shl dx, cl
add ebx, eax
pop edx
not bh
shr bl, cl
sub eax, edx
bswap bx
cdq
xor eax, edx
xchg ebx, ebx
sub eax, edx
setnp dl
cdq
mov ebx, eax
lahf
lea edx, [ebp - 0x174]
mov eax, 1
jmp 0x46c52a
sub eax, eax
setns dh
pop edx
not cl
pop ecx
cmovp ecx, esp
pop ecx
jmp 0x4b686f
jmp 0x4a9c82
je 0x55516e
lea eax, [ebp - 0xc]
call fcn.00470004
jmp 0x4a48eb
call 0x58cdc5
push eax
jmp 0x54ab23
mov dword fs:[eax], edx
cdq
rdtsc
movzx eax, cx
push 0x551a07
cdq
lea eax, [ebp - 0x174]
jmp 0x528caf
call fcn.0040c90c
mov edx, dword [ebp - 0x13c]
mov eax, 0x418894
call fcn.00404420
cmp dword [0x418894], 0
jmp 0x440166
jne 0x433946
mov eax, dword [ebp - 4]
jmp 0x40626d
call fcn.00404868
push eax
cwde
bswap edx
cwd
lea ecx, [ebp - 0x140]
not ah
mov edx, 0x95c2af90
cwde
mov eax, 0x10
call fcn.0046ed32
mov eax, dword [ebp - 0x140]
call fcn.00404868
push eax
call 0x460c72
lea edx, [ebp - 0x144]
movzx eax, ax
mov eax, dword [0x418894]
jmp 0x456f25
call fcn.004046b4
lea ecx, [ebp - 0x9c]
bswap ax
lahf
movzx edx, di
mov byte [ebp - 0xb0], 0xc1
mov byte [ebp - 0xaf], 0x4d
cwd
cbw
xchg edx, eax
mov byte [ebp - 0xae], 0x67
bswap edx
mov byte [ebp - 0xad], 0x3b
jmp 0x57f0f0
push 0
rdtsc
cwde
lea eax, [ebp - 4]
mov edx, ebp
push eax
lahf
lea ecx, [ebp - 0xd0]
mov byte [ebp - 0xd8], 0x87
mov byte [ebp - 0xd7], 0x34
mov byte [ebp - 0xd6], 8
xchg dl, al
cwde
mov byte [ebp - 0xd5], 0x6d
lahf
mov byte [ebp - 0xd4], 0x4a
mov byte [ebp - 0xd3], 0x71
movsx edx, di
mov byte [ebp - 0xd2], 0x74
not dx
mov ah, 0xa0
mov byte [ebp - 0xd1], 0x3a
jmp 0x48de8c
jne 0x4f4a93
cmp ebx, 0xa
jmp 0x56928b
mov byte [ebp - 0xa8], 0x18
cwde
mov byte [ebp - 0xa7], 3
cbw
movsx eax, ax
mov byte [ebp - 0xa6], 0xf
cdq
mov byte [ebp - 0xa5], 0xb
mov byte [ebp - 0xa4], 0x1c
mov byte [ebp - 0xa3], 0x43
cmovb ax, bx
mov dx, bx
nop
mov byte [ebp - 0xa2], 0xfa
lahf
mov byte [ebp - 0xa1], 0xe4
cbw
mov byte [ebp - 0xa0], 0xee
cmovle edx, edx
lea eax, [ebp - 0xb0]
mov dx, cx
movzx dx, bh
mov edx, 0x10
jmp 0x492794
call fcn.004045c4
mov eax, dword [ebp - 0x118]
jmp 0x41d9e8
call fcn.004046b4
push ebx
jmp 0x546dcc
push 0
setle ch
cdq
movsx ax, dh
push 0
movzx edx, dx
bswap ecx
cdq
push 0
cdq
lahf
movzx ecx, dx
push 0x415fd4
cmovnp ecx, ebp
lea eax, [ebp - 0x12c]
jmp 0x53243e
call fcn.0058652d
mov edx, dword [ebp - 0x15c]
cmova ax, cx
pop eax
jmp 0x4e0449
mov eax, 0x415fe0
jmp 0x4b8640
lea eax, [ebp - 0x90]
movsx edx, bx
xchg dx, dx
jmp 0x57f466
mov edx, 6
jmp 0x47c5cc
call fcn.004043f0
lea eax, [ebp - 0xc0]
mov edx, 4
jmp 0x5047d9
jb 0x4258f9
sub eax, eax
jmp 0x470ffe
call fcn.004043f0
lea eax, [ebp - 0x78]
cdq
movzx edx, cx
mov edx, 6
jmp 0x44a267
call fcn.00404670
mov eax, dword [ebp - 0x158]
call fcn.00404868
push eax
jmp 0x4b3af3
dec ecx
jmp 0x53a541
xor eax, eax
jmp 0x530c01
jne 0x4fac8d
lea ecx, [ebp - 0x78]
jmp 0x58c17e
call fcn.00402d2c
mov eax, dword [ebp - 0x98]
lea edx, [ebp - 0x94]
jmp 0x44d454
call fcn.00407e7c
test al, al
je 0x5a173b
lea ecx, [ebp - 0x14c]
cwde
mov byte [ebp - 0x154], 0x9f
mov ax, sp
movsx edx, ax
mov byte [ebp - 0x153], 0x2b
mov byte [ebp - 0x152], 2
mov byte [ebp - 0x151], 0x47
not edx
mov byte [ebp - 0x150], 0x6b
mov byte [ebp - 0x14f], 0x74
rdtsc
movzx dx, al
not ax
lea eax, [ebp - 0x154]
setp dh
xchg dl, dl
cwd
mov edx, 5
jmp 0x43003b
jne 0x4fac8d
lea edx, [ebp - 0x74]
xor eax, eax
jmp 0x42ce5f
mov edx, 0x418894
test sp, 0x7b4e
sub eax, eax
jmp 0x49a7cf
call fcn.0046ed32
mov eax, dword [ebp - 0x128]
jmp 0x536a31
call fcn.004043f0
lea eax, [ebp - 0x9c]
mov edx, 3
jmp 0x4de269
call fcn.00510a61
cmp byte [0x4173cc], 0
jmp 0x54f92e
call fcn.00408000
mov eax, dword [ebp - 0x110]
call fcn.00407eb0
lea eax, [ebp - 0x11c]
jmp 0x522551
je 0x4bef4a
lea ecx, [ebp - 0x138]
lahf
mov edx, 0x95c2af90
mov eax, 0x10
jmp 0x520bc1
lea ecx, [ebp - 0x128]
mov edx, 0x95c2af90
nop
cbw
mov eax, 0x10
jmp 0x501aa9
call fcn.00402d2c
mov eax, dword [ebp - 0xbc]
jmp 0x497b62
call fcn.00413391
call dword [0x418888]
xor eax, eax
pop edx
xchg cl, cl
mov ch, 0x42
pop ecx
not cl
pop ecx
mov dword fs:[eax], edx
jmp 0x4af0b8
call fcn.00404420
cmp dword [0x418894], 0
jmp 0x543b71
call fcn.0046ed32
mov eax, dword [ebp - 0x138]
jmp 0x586eaf
push eax
cmovl eax, edx
lea eax, [ebp - 0xcc]
jmp 0x41e41f
mov ecx, dword [ebp - 4]
mov dx, di
setl dl
mov edx, dword [ebp - 0xc]
jmp 0x436707
mov edx, 2
jmp 0x46ed8c
call fcn.00402d2c
mov eax, dword [ebp - 0xb8]
xchg edx, edx
mov dl, ah
bswap dx
lea edx, [ebp - 0xb4]
call fcn.00408000
mov edx, dword [ebp - 0xb4]
movzx ecx, cx
lea eax, [ebp - 4]
setp ch
pop ecx
jmp 0x54e519
mov ecx, dword [ebp - 4]
jmp 0x494ccc
push edx
jmp 0x520bd1
je 0x4c120a
push 0
not dh
rdtsc
lea eax, [ebp - 4]
movsx dx, cl
setp dl
jmp 0x43f2f2
call fcn.00404868
push eax
jmp 0x571d81
call fcn.0050672a
cmp dword [ebp - 4], 0
jmp 0x56ab4d
jne 0x58ee7a
push ecx
push ebx
stc
push esi
push edi
cmp ebp, 0x7db0577b
sub eax, eax
push ebp
cmp bp, di
stc
push 0x53d4fd
stc
push dword fs:[eax]
cmp ah, ah
mov dword fs:[eax], esp
stc
jmp 0x4354dc
call fcn.00404670
mov eax, dword [ebp - 0x144]
jmp 0x4f8d19
mov word [ebp - 0x20], 0
lea eax, [ebp - 0x60]
push eax
movzx ax, ah
jmp 0x4615b5
call fcn.0058652d
mov eax, dword [ebp - 0x78]
shr dl, 0xa
push eax
sub dx, ax
rcr dl, 0x90
dec dx
lea edx, [ebp - 0x98]
cmp cx, ax
xor eax, eax
jmp 0x4f894e
jne 0x4bef4a
lea edx, [ebp - 0x13c]
mov eax, esp
movsx ax, cl
jmp 0x4d3f0f
cmp byte [0x4173cc], 0
jmp 0x443fbb
call 0x41e517
push 0
jmp 0x442f1b
call 0x505635
mov dword [0x418888], eax
jmp 0x5a1735
call fcn.004046b4
mov eax, dword [ebp - 8]
call fcn.00407e7c
test al, al
jmp 0x4b8772
call fcn.004045c4
mov eax, dword [ebp - 0x68]
mov dl, cl
lea edx, [ebp - 0x64]
call fcn.0040c90c
cmp dword [ebp - 0x64], 0
jmp 0x4f961e
je 0x571d86
lea edx, [ebp - 0x124]
test ah, dl
sub eax, eax
jmp 0x44a949
lea edx, [ebp - 0x104]
cmc
test esi, 0xee52073
sub eax, eax
call fcn.00402d2c
mov eax, dword [ebp - 0x104]
mov dx, 0x3693
cmovg edx, edx
bswap edx
lea edx, [ebp - 0xc]
jmp 0x4a48e6
call fcn.0058652d
mov eax, dword [ebp - 0xd0]
push eax
xchg ecx, eax
lea ecx, [ebp - 0xdc]
mov byte [ebp - 0xc8], 0x8c
mov byte [ebp - 0xc7], 6
mov byte [ebp - 0xc6], 0x3d
lahf
xchg dh, al
mov dx, cx
mov byte [ebp - 0xc5], 0x51
cbw
cwd
mov byte [ebp - 0xc4], 0x55
bswap ax
mov byte [ebp - 0xc3], 0x5a
xchg ah, ah
mov byte [ebp - 0xc2], 0x4e
lahf
mov edx, 0xb20281a
rdtsc
lea eax, [ebp - 0xc8]
jmp 0x498738
call fcn.00407b10
push eax
jmp 0x4a994e
jne 0x50870b
lea eax, [ebp - 0x114]
not edx
mov ecx, dword [ebp - 4]
movsx edx, si
cdq
mov edx, dword [ebp - 0xc]
jmp 0x4947be
je 0x4f4a93
cmp ebx, 7
jmp 0x4f4a8d
jne 0x47fd8b
call fcn.00402d90
cmp byte [0x4173cc], 0
jmp 0x414298
push 0
jmp 0x4e1b0a
mov eax, dword [ebp - 8]
cdq
mov dx, bp
pop edx
jmp 0x490ed0
call fcn.0058652d
mov edx, dword [ebp - 0xdc]
movzx ecx, di
lahf
xchg cl, al
mov eax, dword [ebp - 8]
not cl
bswap cx
pop ecx
jmp 0x539ca1
call 0x4d7c75
lea eax, [ebp - 0x50]
xor dx, cx
cwd
bsr edx, esp
sub ecx, ecx
mov dx, si
mov dh, 0xbe
bswap edx
mov edx, 0x44
jmp 0x4a7a28
lea ecx, [ebp - 0x148]
cbw
mov dh, 0xa3
mov byte [ebp - 0xc8], 0xb5
cwde
cmovbe edx, esp
mov byte [ebp - 0xc7], 0x64
jmp 0x439aca
mov byte [ebp - 0xac], 0xb
mov byte [ebp - 0xab], 0x3e
cdq
mov eax, eax
mov byte [ebp - 0xaa], 0x2b
not ah
mov edx, edi
mov byte [ebp - 0xa9], 6
jmp 0x4c4b90
mov edx, 0x14
jmp 0x540d53
je 0x546752
sub eax, eax
cmovg edx, esi
jmp 0x42e7e3
call fcn.00404868
mov edx, eax
sets al
bswap ax
lea eax, [ebp - 0x134]
jmp 0x462aa3
mov byte [ebp - 0x90], 0xc0
mov ah, dl
not eax
mov dx, 0x4206
mov byte [ebp - 0x8f], 0x75
mov dl, 0x1d
mov dx, dx
bswap dx
mov byte [ebp - 0x8e], 0x53
xchg dx, dx
cwd
mov byte [ebp - 0x8d], 0x3e
mov dx, bp
mov byte [ebp - 0x8c], 0x22
mov al, bh
rdtsc
mov byte [ebp - 0x8b], 0x3f
movsx edx, ax
not dh
mov byte [ebp - 0x8a], 0x3d
mov dx, di
mov byte [ebp - 0x89], 0xed
mov byte [ebp - 0x88], 0xc4
cwde
cdq
lahf
mov byte [ebp - 0x87], 0xed
mov byte [ebp - 0x86], 0xf8
mov byte [ebp - 0x85], 0xec
mov byte [ebp - 0x84], 0xf7
movzx eax, cx
mov byte [ebp - 0x83], 0xe8
mov byte [ebp - 0x82], 0xe9
cmovg eax, ebp
not dh
cwd
mov byte [ebp - 0x81], 0xf1
movsx edx, bx
mov byte [ebp - 0x80], 0xe0
mov byte [ebp - 0x7f], 0xbf
xchg al, dh
bswap edx
mov byte [ebp - 0x7e], 0xc6
cmovbe eax, ebp
setge al
not ah
mov byte [ebp - 0x7d], 0xc7
movzx edx, ax
movsx eax, cx
mov byte [ebp - 0x7c], 0xcd
jmp 0x4d643e
jmp 0x4a9c82
call fcn.00404868
mov ebx, eax
mov dh, 0x57
bswap dx
mov edx, ebx
cmove ax, bp
movzx eax, ax
setge al
lea eax, [ebp - 0x118]
jmp 0x4c5a20
push 0
jmp 0x56ba56
call fcn.00408000
lea eax, [ebp - 0x158]
xchg dx, dx
push eax
lea ecx, [ebp - 0x15c]
cbw
mov byte [ebp - 0x16c], 0xda
movsx dx, dh
mov byte [ebp - 0x16b], 0x5c
mov byte [ebp - 0x16a], 0x6d
movsx dx, bl
mov byte [ebp - 0x169], 0x17
bswap dx
mov byte [ebp - 0x168], 0xd
mov byte [ebp - 0x167], 0x18
mov byte [ebp - 0x166], 0x1e
mov byte [ebp - 0x165], 0x2f
cbw
mov dx, dx
mov byte [ebp - 0x164], 0x2e
cwd
sets dl
mov byte [ebp - 0x163], 0x68
movsx ax, cl
mov byte [ebp - 0x162], 0x11
mov byte [ebp - 0x161], 0x1c
cmovo edx, eax
mov ax, si
mov byte [ebp - 0x160], 0x17
movsx edx, dx
lea eax, [ebp - 0x16c]
mov edx, 0xc
jmp 0x4cea2f
mov eax, dword [ebp - 0xc]
jmp 0x444572
call fcn.004046b4
mov eax, dword [ebp - 0x120]
jmp 0x5053f8
call dword [0x418888]
push 0
rdtsc
mov edx, 0x3b980f8b
push 0
lea edx, [ebp - 0x170]
mov eax, 1
call fcn.00402d2c
mov eax, dword [ebp - 0x170]
jmp 0x562b4e