Function at 0x429796
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cc699
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0xb8
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
cmp dword [ebp + 8], 0
jne 0x4297c9
mov eax, dword [ebp + 8]
jmp 0x42a0fd
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x80], 0x7ce
inc ebp
or byte [ecx + 0x45c7ec45], cl
or dh, 7
add byte [eax], al
cmp dword [ebp - 0x80], 0x153f
jle 0x429892
jo 0x4297ca
jno 0x4297e6
invalid
cmp dword [ebp + 0xc], 0
jne 0x429c84
mov eax, dword [ebp + 0x10]
shr eax, 2
mov dword [ebp - 0x50], eax
and dword [ebp - 0x48], 0
jmp 0x4298b2
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x50]
jae 0x4298cb
mov eax, dword [ebp - 0x14]
and dword [eax], 0
mov eax, dword [ebp - 0x14]
add eax, 4
mov dword [ebp - 0x14], eax
jmp 0x4298ab
mov dword [ebp - 0x58], 0x1947
mov dword [ebp - 0x8c], 0xcc
cmp dword [ebp - 0x8c], 0x1f4d
jle 0x429982
pop dword [0x7c67fd9e]
sub eax, 0xf62c17a0
lodsb al, byte [esi]
sar dword [edi + eax*4 + 0x5f41456f], 1
int1
pushal
pop eax
out dx, eax
int 0x9d
rol dword [edi], cl
rcl ah, cl
adc dword [eax], ebp
mov ah, 0x4b
sub ch, 0xfc
stosb byte es:[edi], al
adc ebx, dword [ebx - 0x3b]
pop edx
mov bh, 0x83
mov word [edx - 0xbd73438], fs
retf
mov dword [ebp - 0xa4], str.fcy_mlc_ckgn_gplvalr_dsltytya_ykacknv_rnmlfcske_sbr_yudu
cmp dword [ebp - 0x58], 0x19a5
jle 0x4299f8
push 0
push 0
call dword [sym.imp.GDI32.dll_GetNearestPaletteIndex]
and dword [ebp - 0x34], 0
jmp 0x4299ac
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x44bc
jge 0x4299f8
and dword [ebp - 0x24], 0
jmp 0x4299c2
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x292a
jge 0x4299f6
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x24]
cdq
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
push dword [ebp - 0x84]
push dword [ebp - 0x88]
mov ecx, 0xac8118
call fcn.0042a134
jmp 0x4299bb
jmp 0x4299a5
mov eax, dword [ebp + 0x10]
xor edx, edx
push 4
pop ecx
div ecx
mov dword [ebp - 0x50], edx
and dword [ebp - 4], 0
cmp dword [ebp - 0x58], 0x1765
jge 0x429a73
mov dword [ebp - 0x70], 0x1ce
cmp dword [ebp - 0x70], 0x1e41
jle 0x429a63
movsb byte es:[edi], byte [esi]
push es
invalid
mov edx, dword [ebp - 0xa4]
mov ecx, 0xac8118
call fcn.0042b974
jmp 0x429a8f
or dword [ebp - 4], 0xffffffff
jmp 0x429a99
mov dword [ebp - 0x5c], 0x35f5
mov dword [ebp - 0x98], str.fuynmungs_psujnsm_qimeuhjff_hdmor_lnkms_xhnwfsb_apivdv_liwyzmrwa_mkxskbih_ssjgbzvl_ngzm_ptyb_znyy_xveijtle
cmp dword [ebp - 0x5c], 0x36b5
jle 0x429b0c
and dword [ebp - 0x3c], 0
jmp 0x429ac0
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x21b
jge 0x429b0c
and dword [ebp - 0x2c], 0
jmp 0x429ad6
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x48af
jge 0x429b0a
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x2c]
cdq
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], edx
push dword [ebp - 0x90]
push dword [ebp - 0x94]
mov ecx, 0xac8118
call fcn.0042a134
jmp 0x429acf
jmp 0x429ab9
and dword [ebp - 0x4c], 0
jmp 0x429b19
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x50]
jae 0x429b30
mov eax, dword [ebp - 0x14]
mov byte [eax], 0
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
jmp 0x429b12
mov dword [ebp - 0x78], 0x4cc
cmp dword [ebp - 0x78], 0x1f56
jle 0x429c39
pop ds
stc
mov ecx, 0x65ddd9f7
sbb ch, ah
in eax, dx
mov byte [edi + 0x5f642338], bh
les ecx, [ebx + esi*8 + 0x1e1bb338]
sub cl, byte [eax - 0x2b]
xor ebp, edx
retf
mov dword [ebp - 4], 2
cmp dword [ebp - 0x5c], 0x3294
jge 0x429c59
mov edx, dword [ebp - 0x98]
mov ecx, 0xac8118
call fcn.0042b974
jmp 0x429c75
or dword [ebp - 4], 0xffffffff
jmp 0x429c7f
jmp 0x429eab
mov al, byte [ebp + 0xc]
mov byte [ebp - 0x15], al
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x10]
dec eax
mov dword [ebp + 0x10], eax
cmp dword [ebp - 0x64], 0
je 0x429eab
mov dword [ebp - 0x54], 0x6d1c
mov dword [ebp - 0x68], str.fbmveymjy_emibq_rsjdg_woymjam_nqoksna_dyzpzd
cmp dword [ebp - 0x54], 0x702f
jle 0x429d67
and dword [ebp - 0x44], 0
jmp 0x429cc9
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x6e29
jge 0x429d58
and dword [ebp - 0x1c], 0
jmp 0x429ce3
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x3c38
jge 0x429d53
and dword [ebp - 0x40], 0
jmp 0x429cf9
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x6446
jge 0x429d51
mov eax, dword [ebp - 0x44]
cdq
idiv dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x40]
sar edx, cl
mov eax, edx
cdq
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], edx
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
lea ecx, [ebp - 0xc8]
call fcn.00404de8
pop ecx
pop ecx
mov ecx, eax
call fcn.00402a4f
push eax
call fcn.004b69fa
pop ecx
lea ecx, [ebp - 0xc8]
call fcn.0040283c
jmp 0x429cf2
jmp 0x429cdc
jmp 0x429cc2
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowInfo]
mov eax, dword [ebp - 0x14]
mov cl, byte [ebp - 0x15]
mov byte [eax], cl
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0xb0], 0x51c
cmp dword [ebp - 0xb0], 0x15f0
jle 0x429e6e
invalid
push edi
and eax, 0x483f5340
jnp 0x429dc6
cmpsb byte [esi], byte es:[edi]
xor bl, byte [esi + eax*8 + 0x2d]
imul esp, dword [esi], 0xffffffcc
aas
mov edx, dword [ebp - 0x29]
and byte [esp + ecx*2 - 0x3faf6fd2], cl
mov dword [edi - 0x57], edx
jnp 0x429d80
mov byte [0x9d9ae072], al
popal
pop es
movsb byte es:[edi], byte [esi]
push ebx
mov byte [ebp - 0x6a98fcc], bh
cmp byte [ebx + 3], ah
pop ds
dec edx
invalid
cmp dword [ebp - 0x54], 0x6b45
jge 0x429e80
push dword [ebp - 0x68]
call fcn.004b69fa
pop ecx
jmp 0x429e9c
or dword [ebp - 4], 0xffffffff
jmp 0x429ea6
jmp 0x429c8a
mov dword [ebp - 0x60], 0x157e
mov dword [ebp - 0x7c], str.olvarfli_tblhgbmz_dsnzdpq_qycmmgux_lsckvwz_vrszohsqa_jfkff_jrnfe_durqj_amysfm_dcnqha_kuw
cmp dword [ebp - 0x60], 0x16ae
jle 0x429fca
and dword [ebp - 0x20], 0
jmp 0x429ed3
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x528b
jge 0x429fca
and dword [ebp - 0x28], 0
jmp 0x429eed
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x7232
jge 0x429fc5
and dword [ebp - 0x30], 0
jmp 0x429f07
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x6f27
jge 0x429fc0
mov dword [ebp - 0x6c], 0x3d0
cmp dword [ebp - 0x6c], 0x17c4
jle 0x429f74
call [ebx]
push cs
fcom qword [eax + 0x68]
std
lodsb al, byte [esi]
add byte [eax], al
and dword [ebp - 0x38], 0
jmp 0x429f81
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x16fa
jge 0x429fbb
mov eax, dword [ebp - 0x20]
and eax, dword [ebp - 0x28]
xor eax, dword [ebp - 0x30]
or eax, dword [ebp - 0x38]
cdq
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], edx
push dword [ebp - 0xa8]
push dword [ebp - 0xac]
mov ecx, 0xac8118
call fcn.0042a134
jmp 0x429f7a
jmp 0x429f00
jmp 0x429ee6
jmp 0x429ecc
mov dword [ebp - 0x74], 0x670
cmp dword [ebp - 0x74], 0x15f0
jle 0x42a0b5
inc eax
aam 0xa8
adc al, bh
shr ecx, cl
invalid
mov eax, dword [ebp + 8]
jmp 0x42a0fd
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret