Function at 0x435110
Capabilities:
Encode data using base64

Disassembly:
push 0xffffffffffffffff
push 0x453e96
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
mov eax, dword [0x467334]
xor eax, esp
mov dword [esp + 0xac], eax
push ebx
push ebp
push esi
mov eax, dword [0x467334]
xor eax, esp
push eax
lea eax, [esp + 0xc4]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0xcc], ebx
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x27]
mov byte [esp + 0x27], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x435170
sub eax, edx
je 0x435180
call fcn.00432560
lea ecx, [esp + 0x2c]
push ecx
sub esp, 0x1c
mov esi, esp
xor eax, eax
mov dword [esi + 0x18], 0xf
mov dword [esi + 0x14], eax
lea ebp, [esi + 4]
mov dword [esp + 0x48], eax
mov byte [ebp], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0x40], esp
cmp eax, 0x10
jb 0x4351b1
mov ecx, dword [ebp]
jmp 0x4351b3
mov ecx, ebp
cmp ecx, str.nizrprzxz777777_r_t_t_r_r
ja 0x4351f0
cmp eax, 0x10
jb 0x4351c5
mov ecx, dword [ebp]
jmp 0x4351c7
mov ecx, ebp
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, str.nizrprzxz777777_r_t_t_r_r
jbe 0x4351f0
cmp eax, 0x10
jb 0x4351dc
mov ebp, dword [ebp]
push 0x40
mov eax, str.nizrprzxz777777_r_t_t_r_r
sub eax, ebp
push eax
push esi
mov ecx, esi
call fcn.00402ea0
jmp 0x435235
cmp eax, 0x40
jae 0x435202
mov ecx, dword [esi + 0x14]
push ecx
push 0x40
mov ecx, esi
call fcn.00403800
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x43520f
mov eax, dword [ebp]
jmp 0x435211
mov eax, ebp
push 0x40
push str.nizrprzxz777777_r_t_t_r_r
push ecx
push eax
call fcn.0043c85e
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0x40
jb 0x435232
mov ebp, dword [ebp]
mov byte [ebp + 0x40], bl
lea esi, [esp + 0x68]
call fcn.00401900
push eax
mov byte [esp + 0xd4], 1
call fcn.00401c70
mov byte [esp + 0xcc], 2
cmp dword [eax + 0x18], 0x10
jb 0x43525f
mov edx, dword [eax + 4]
jmp 0x435262
lea edx, [eax + 4]
mov ebp, 0xf
mov eax, edx
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xb4], 0
mov byte [esp + 0xa4], 0
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x435286
sub eax, esi
push eax
push edx
lea ecx, [esp + 0xa8]
call fcn.004033f0
cmp dword [esp + 0x44], 0x10
jb 0x4352b1
mov edx, dword [esp + 0x30]
push edx
call fcn.0043c853
add esp, 4
mov dword [esp + 0x44], ebp
mov dword [esp + 0x40], 0
mov byte [esp + 0x30], 0
lea esi, [esp + 0x48]
mov byte [esp + 0xcc], 5
call fcn.00429050
cmp dword [esp + 0x18], 0
je 0x4356a0
mov edi, edi
mov eax, dword [esp + 0x28]
dec dword [esp + 0x18]
mov esi, eax
inc eax
mov dword [esp + 0x28], eax
cmp dword [esp + 0xe8], esi
ja 0x4352fd
call fcn.0043b6d1
cmp dword [esp + 0xec], 0x10
mov eax, dword [esp + 0xd8]
jae 0x435315
lea eax, [esp + 0xd8]
movzx eax, byte [eax + esi]
mov byte [esp + ebx + 0x14], al
mov al, byte [esp + 0x15]
mov cl, byte [esp + 0x14]
inc ebx
mov dword [esp + 0x20], ebx
cmp ebx, 3
jne 0x435456
mov bl, byte [esp + 0x16]
mov al, cl
mov dl, al
mov al, byte [esp + 0x15]
shr cl, 2
and dl, 3
mov byte [esp + 0x1c], cl
mov cl, al
shl dl, 4
shr cl, 4
add dl, cl
and al, 0xf
mov byte [esp + 0x1d], dl
add al, al
mov dl, bl
add al, al
shr dl, 6
add al, dl
mov byte [esp + 0x1e], al
call fcn.0043c831
call fcn.0043c831
and bl, 0x3f
xor ebp, ebp
mov dword [esp + 0xcc], 5
mov byte [esp + 0x1f], bl
mov dword [esp + 0x20], ebp
lea ebx, [ebx]
movzx esi, byte [esp + ebp + 0x1c]
cmp dword [esp + 0xb4], esi
ja 0x4353a3
call fcn.0043b6d1
cmp dword [esp + 0xb8], 0x10
mov eax, dword [esp + 0xa4]
jae 0x4353bb
lea eax, [esp + 0xa4]
mov bl, byte [eax + esi]
or eax, 0xffffffff
sub eax, dword [edi + 0x14]
cmp eax, 1
ja 0x4353ce
call fcn.0043b699
mov esi, dword [edi + 0x14]
inc esi
cmp esi, 0xfffffffe
jbe 0x4353dc
call fcn.0043b699
mov eax, dword [edi + 0x18]
cmp eax, esi
jae 0x435407
mov ecx, dword [edi + 0x14]
push ecx
push esi
mov ecx, edi
call fcn.00403800
test esi, esi
jbe 0x43543a
mov ebp, dword [edi + 0x14]
mov edx, pe_nt_image_headers32
lea eax, [edi + 4]
cmp dword [edi + 0x18], edx
jb 0x435423
mov ecx, dword [eax]
jmp 0x435425
test esi, esi
jne 0x4353f1
mov dword [edi + 0x14], esi
cmp eax, 0x10
jb 0x43541b
mov eax, dword [edi + 4]
mov byte [eax], 0
jmp 0x43543a
lea eax, [edi + 4]
mov byte [eax], 0
jmp 0x43543a
mov ecx, eax
mov byte [ecx + ebp], bl
mov dword [edi + 0x14], esi
cmp dword [edi + 0x18], edx
jb 0x435432
mov eax, dword [eax]
mov ebp, dword [esp + 0x20]
mov byte [eax + esi], 0
inc ebp
cmp ebp, 4
mov dword [esp + 0x20], ebp
jl 0x435390
mov al, byte [esp + 0x15]
mov cl, byte [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x18], 0
jne 0x4352e0
test ebx, ebx
je 0x4356a0
cmp ebx, 3
jge 0x43548d
mov edx, 3
sub edx, ebx
push edx
lea eax, [esp + ebx + 0x18]
push 0
push eax
call fcn.00444d20
mov al, byte [esp + 0x21]
mov cl, byte [esp + 0x20]
add esp, 0xc
mov dl, cl
shr dl, 2
mov byte [esp + 0x1c], dl
and cl, 3
mov dl, al
shl cl, 4
shr dl, 4
add cl, dl
and al, 0xf
mov byte [esp + 0x1d], cl
mov cl, byte [esp + 0x16]
add al, al
mov dl, cl
add al, al
shr dl, 6
add al, dl
and cl, 0x3f
inc ebx
mov byte [esp + 0x1e], al
mov byte [esp + 0x1f], cl
mov dword [esp + 0x18], 0
test ebx, ebx
jle 0x4355a0
jmp 0x4354e0
mov eax, dword [esp + 0x18]
movzx esi, byte [esp + eax + 0x1c]
cmp dword [esp + 0xb4], esi
ja 0x4354f7
call fcn.0043b6d1
cmp dword [esp + 0xb8], 0x10
mov eax, dword [esp + 0xa4]
jae 0x43550f
lea eax, [esp + 0xa4]
mov bl, byte [eax + esi]
or ecx, 0xffffffff
sub ecx, dword [edi + 0x14]
cmp ecx, 1
ja 0x435522
call fcn.0043b699
mov esi, dword [edi + 0x14]
inc esi
cmp esi, 0xfffffffe
jbe 0x435530
call fcn.0043b699
mov eax, dword [edi + 0x18]
cmp eax, esi
jae 0x43555b
mov edx, dword [edi + 0x14]
push edx
push esi
mov ecx, edi
call fcn.00403800
test esi, esi
jbe 0x43558a
mov ebp, dword [edi + 0x14]
mov edx, pe_nt_image_headers32
lea eax, [edi + 4]
cmp dword [edi + 0x18], edx
jb 0x435577
mov ecx, dword [eax]
jmp 0x435579
test esi, esi
jne 0x435545
mov dword [edi + 0x14], esi
cmp eax, 0x10
jb 0x43556f
mov eax, dword [edi + 4]
mov byte [eax], 0
jmp 0x43558a
lea eax, [edi + 4]
mov byte [eax], 0
jmp 0x43558a
mov ecx, eax
mov byte [ecx + ebp], bl
mov dword [edi + 0x14], esi
cmp dword [edi + 0x18], edx
jb 0x435586
mov eax, dword [eax]
mov byte [eax + esi], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
inc eax
inc ecx
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x4354e0
cmp dword [esp + 0x20], 3
jge 0x4356a0
mov eax, 3
sub eax, dword [esp + 0x20]
mov ebx, pe_nt_image_headers32
mov dword [esp + 0x28], eax
xor ebp, ebp
or eax, 0xffffffff
sub eax, dword [edi + 0x14]
cmp eax, 1
ja 0x4355cf
call fcn.0043b699
mov esi, dword [edi + 0x14]
inc esi
cmp esi, 0xfffffffe
jbe 0x4355dd
call fcn.0043b699
mov eax, dword [edi + 0x18]
cmp eax, esi
jae 0x435603
mov ecx, dword [edi + 0x14]
push ecx
push esi
mov ecx, edi
call fcn.00403800
cmp esi, ebp
jbe 0x435632
mov edx, dword [edi + 0x14]
lea eax, [edi + 4]
cmp dword [edi + 0x18], ebx
jb 0x43561e
mov ecx, dword [eax]
jmp 0x435620
cmp esi, ebp
jne 0x4355f2
mov dword [edi + 0x14], ebp
cmp eax, ebx
jb 0x435616
mov eax, dword [edi + 4]
mov byte [eax], 0
jmp 0x435632
lea eax, [edi + 4]
mov byte [eax], 0
jmp 0x435632
mov ecx, eax
mov byte [ecx + edx], 0x3d
mov dword [edi + 0x14], esi
cmp dword [edi + 0x18], ebx
jb 0x43562e
mov eax, dword [eax]
mov byte [eax + esi], 0
call fcn.0043c831
cdq
mov ecx, 0xa
idiv ecx
mov esi, edx
call fcn.0043c831
cdq
mov ecx, 0xa
idiv ecx
push ecx
cmp esi, edx
setl al
test al, al
je 0x43566d
movzx edx, al
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fstp dword [esp]
call fcn.00401040
jmp 0x435677
fldz
fstp dword [esp]
call fcn.00401060
add esp, 4
call fcn.0044ed90
cmp eax, ebp
je 0x435695
call dword [sym.imp.USER32.dll_GetActiveWindow]
call dword [sym.imp.USER32.dll_GetCapture]
call dword [sym.imp.USER32.dll_GetClipboardOwner]
sub dword [esp + 0x28], 1
jne 0x4355bf
mov esi, pe_nt_image_headers32
cmp dword [esp + 0xb8], esi
jb 0x4356be
mov eax, dword [esp + 0xa4]
push eax
call fcn.0043c853
add esp, 4
mov dword [esp + 0xb8], 0xf
mov dword [esp + 0xb4], 0
mov byte [esp + 0xa4], 0
cmp dword [esp + 0xec], esi
jb 0x4356f5
mov ecx, dword [esp + 0xd8]
push ecx
call fcn.0043c853
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0xc4]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xac]
xor ecx, esp
call fcn.0043c2d9
add esp, 0xc0
ret 0x1c