Function at 0x1002f65c
Capabilities:
Encode data using xor
Query or enumerate registry key

Disassembly:
mov eax, 0x100615e3
call fcn.100600a0
sub esp, 0x13c
cmp byte [ebp + 8], 0
mov eax, edx
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x78], edi
je 0x1002f7bf
cmp byte [ebp + 0x1c], 0
je 0x1002f7ab
mov dword [ebp - 0x1c], 0x3e32
cmp dword [ebp - 0x1c], 0x3fd5
jle 0x1002f6f0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor esi, esi
xor ebx, ebx
xor edi, edi
xor eax, eax
mov dword [ebp + 8], eax
xor eax, edi
mov ecx, 0x1007bb98
xor eax, ebx
xor eax, esi
cdq
push edx
push eax
call fcn.100042e3
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, 0x4d1c
jl 0x1002f6b1
inc edi
cmp edi, 0x2ff4
jl 0x1002f6ac
inc ebx
cmp ebx, 0x1f7
jl 0x1002f6aa
inc esi
cmp esi, 0x1834
jl 0x1002f6a8
mov edi, dword [ebp - 0x78]
and dword [ebp - 4], 0
cmp dword [ebp - 0x1c], 0x3ab0
jge 0x1002f72b
mov edx, str.xyefaisj_nglje_ydrlennd_jtpvgzafy_chszieqwj_nwraybdjs_ckfus_epvs_kkfsrrot_zvjnh
mov ecx, 0x1007bb98
call fcn.100067dc
jmp 0x1002f72b
or dword [ebp - 4], 0xffffffff
mov esi, dword [edi]
mov edi, dword [edi + 4]
jmp 0x1002f7a2
push esi
lea ecx, [ebp - 0x130]
call fcn.100043f8
mov dword [ebp - 4], 2
lea ebx, [ebp - 0x130]
cmp dword [ebp - 0x11c], 8
cmovae ebx, dword [ebp - 0x130]
call fcn.1004a1b2
push 0xa
and dword [eax], 0
lea eax, [ebp - 0x118]
push eax
push ebx
call fcn.1004a3e7
mov ecx, dword [ebp + 0x18]
add esp, 0xc
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xb0]
push eax
call fcn.10033d67
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x130]
push 0
push 1
call fcn.10004a5c
add esi, 0x18
cmp esi, edi
jne 0x1002f736
jmp 0x100301dc
push 0
push 0
push 0x685
call dword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
jmp 0x100301dc
cmp byte [ebp + 0x10], 0
je 0x100301ca
push 2
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x24], eax
xor ebx, ebx
mov dword [ebp - 0x2c], 0xfc024000
mov byte [ebp - 0x28], 0xea
call fcn.10004595
push ecx
push ecx
mov dword [ebp - 4], 3
lea eax, [ebp - 0x34]
mov dword [ebp - 0x20], 0xfffffffe
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x1c], 0x12a3cc92
mov dl, 1
push eax
call fcn.10031db8
add esp, 0xc
mov dword [ebp - 0x34], ebx
jmp 0x1002f827
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x114], 0x79cf1813
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 2
jl 0x1002f816
mov eax, dword [ebp - 0x9c]
mov ecx, 0xcbd94543
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x20]
cmp ecx, 1
setl al
mov dword [ebp - 0x1c], eax
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x9c]
call fcn.100497d9
pop ecx
push 0x7c
pop eax
push 2
pop esi
push 5
mov word [ebp - 0x38], ax
pop eax
push 0xfffffffffffffffd
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x5c], ebx
pop edi
mov dword [ebp - 0x20], esi
cmp esi, eax
jae 0x1002fbd8
mov dword [ebp - 0x18], 0xfffffffb
mov dword [ebp - 0x1c], 0x142b930e
mov dword [ebp - 0x14], ebx
jmp 0x1002f8b1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1002f8a7
cmp dword [ebp - 0x18], ebx
jne 0x1002f8fc
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp eax, 0x9b2e
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
add ecx, dword [ebp - 0x18]
je 0x1002f8e2
cmp dword [ebp - 0x18], ebx
je 0x1002f8e2
xor eax, eax
inc eax
jmp 0x1002f8e4
mov eax, ebx
push 5
pop ecx
cmp ecx, eax
sbb eax, eax
add eax, 0xfffffffb
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x18]
jle 0x1002f8fc
mov eax, ebx
jmp 0x1002f8ff
xor eax, eax
inc eax
neg eax
jne 0x1002f908
cmp dword [ebp - 0x18], ebx
je 0x1002f912
cmp dword [ebp - 0x18], ebx
je 0x1002f912
xor edx, edx
inc edx
jmp 0x1002f914
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x68], ecx
test ecx, ecx
jne 0x1002f92e
cmp dword [ebp - 0x6c], ebx
jne 0x1002f92e
mov edx, ebx
jmp 0x1002f931
xor edx, edx
inc edx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setg cl
cmp ecx, dword [ebp - 0x18]
jl 0x1002f94a
cmp dword [ebp - 0x64], ebx
je 0x1002f94a
xor eax, eax
inc eax
jmp 0x1002f94c
mov eax, ebx
cmp dword [ebp - 0x18], eax
je 0x1002fa5d
mov dword [ebp - 0x1c], 0xd1649bc0
mov dword [ebp - 0x14], 0xfffffffb
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x18], eax
jge 0x1002fa00
mov dword [ebp - 0x1c], 0x35ef
cmp dword [ebp - 0x1c], 0x39a7
jle 0x1002f9d3
mov edi, ebx
mov esi, ebx
mov eax, esi
lea ecx, [ebp - 0x148]
or eax, edi
cdq
push edx
push eax
call fcn.10001a85
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002f9a6
mov eax, dword [eax]
push eax
call fcn.10049603
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x148]
call fcn.100048ea
inc esi
cmp esi, 0x1dea
jl 0x1002f98a
inc edi
cmp edi, 0x7ee7
jl 0x1002f988
mov esi, dword [ebp - 0x20]
push 0xfffffffffffffffd
pop edi
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x68], 1
cmp dword [ebp - 0x1c], 0x349e
jge 0x1002f9f7
push str.mqws_jwvoj_qealprt_kizncnnaj_oudsrpa_gykxwfea_xbmsawqr_kgfhulik
call fcn.10049603
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x1002fb7e
mov dword [ebp - 0x18], 0xffffffed
jmp 0x1002fa52
mov dword [ebp - 0xb4], 0xffffffff
mov dword [ebp - 0x14], edi
jmp 0x1002fa49
push 1
push ecx
push ecx
lea edx, [ebp - 0xb4]
call fcn.10031cef
add esp, 0xc
mov byte [ebp + 0xb], bl
lea edx, [ebp + 0xb]
push 0x7b4
push ecx
push 0x2da9
push ecx
mov cl, 1
call fcn.100315dc
add esp, 0x10
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x12
jne 0x1002fa18
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff9
jle 0x1002fa09
jmp 0x1002fb7e
push 5
pop eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], ebx
jmp 0x1002fb74
push 1
lea ecx, [ebp - 0x54]
call fcn.10004595
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], ebx
jmp 0x1002fa94
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x54]
mov dword [eax + ecx*4], 0x38770ce4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x1002fa84
mov eax, dword [ebp - 0x54]
mov dword [eax], ebx
mov dword [ebp - 0x14], 0x563ade4
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp + eax*4 - 0x6c], ecx
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], ebx
jne 0x1002fad3
mov eax, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x54]
cmp ecx, dword [eax]
setge dl
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, 1
mov eax, dword [ebp - 0x54]
setl cl
xor edx, edx
add ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setge dl
xor ecx, ecx
cmp eax, edx
setg cl
cmp ecx, 1
mov ecx, dword [ebp - 0x54]
sbb edx, edx
inc edx
mov eax, dword [ecx]
mov dword [ebp + eax*4 - 0x6c], edx
xor eax, eax
cmp edx, dword [ecx]
setl al
xor edx, edx
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x54]
cmp dword [eax], ecx
setge dl
xor eax, eax
cmp edx, 1
setg al
xor edx, edx
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x54]
cmp ecx, dword [eax]
mov ecx, 0x1c88f
mov eax, dword [ebp - 0x18]
setl dl
sub ecx, edx
sub ecx, eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x1c], ecx
inc dword [eax]
cmp dword [eax], 2
jle 0x1002fa9f
push eax
call fcn.100497d9
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
inc dword [ebp - 0x18]
pop ecx
cmp dword [ebp - 0x18], 0xe
jne 0x1002fa6b
movzx eax, byte [ebp - 0x2c]
lea eax, [eax*2 + 2]
cmp esi, eax
jne 0x1002fb9d
movzx ecx, byte [ebp + esi - 0x2c]
dec esi
add esi, ecx
lea eax, [ecx + 1]
mov dword [ebp - 0x5c], eax
jmp 0x1002fbcd
movzx edx, byte [ebp + esi - 0x2b]
mov eax, esi
sub eax, dword [ebp - 0x5c]
movzx eax, byte [ebp + eax - 0x2e]
movzx eax, word [ebp + eax*2 - 0x38]
mov ecx, eax
and eax, edx
or ecx, edx
lea edx, [ebp - 0x5c]
sub ecx, eax
movzx eax, byte [ebp + esi - 0x2c]
push ecx
mov word [ebp + eax*2 - 0x38], cx
call fcn.10031b3d
pop ecx
push 5
add esi, 2
pop eax
jmp 0x1002f889
mov dword [ebp - 0x18], 0xdb3ae355
mov dword [ebp - 0x1c], 0x8d7cbae8
mov dword [ebp - 0x14], 0xfffffffc
mov dword [ebp - 0x18], 0xe
jmp 0x1002fce5
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], ebx
jmp 0x1002fc12
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3c], 0xfffffff9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x1002fc04
cmp dword [ebp - 0x18], ebx
jne 0x1002fc60
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, 0x7006986d
mov eax, dword [ebp - 0x18]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
add eax, 0x3072c02a
je 0x1002fc55
cmp dword [ebp - 0x18], ebx
je 0x1002fc55
xor eax, eax
inc eax
jmp 0x1002fc57
mov eax, ebx
add eax, 0xfffffff9
jne 0x1002fc60
mov edx, ebx
jmp 0x1002fc63
xor edx, edx
inc edx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x20]
cmp eax, edx
mov eax, 0x71bc7dcd
setl cl
imul ecx, dword [ebp - 0x20]
sub eax, ecx
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
cmp eax, 0xe750
setl cl
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x14], ebx
jmp 0x1002fcdc
mov dword [ebp - 0x1c], 0xd4fe9304
mov dword [ebp - 0x60], 0xffffffff
cmp dword [ebp - 0x3c], ebx
jne 0x1002fcd3
mov eax, dword [ebp - 0x1c]
dec dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x14]
imul ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
lea eax, [ecx + 2]
test eax, eax
jne 0x1002fcd3
cmp dword [ebp - 0x20], ebx
jne 0x1002fcd3
mov eax, ebx
jmp 0x1002fcd6
xor eax, eax
inc eax
mov dword [ebp - 0x60], eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff2
jle 0x1002fc9b
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
je 0x1002fbf9
xor eax, eax
mov dword [ebp - 0xdc], 7
mov word [ebp - 0x36], ax
lea ecx, [ebp - 0xf0]
mov word [ebp - 0xf0], ax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0xe0], ebx
call fcn.1000936f
mov edx, dword [ebp + 0x14]
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0xd8]
mov dword [ebp - 4], 6
call fcn.1002f310
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 8
call fcn.10004a5c
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x14], 0x485bf25c
mov dword [ebp - 0x18], 0xc32b96ce
cmp dword [ebp - 0x14], ebx
jne 0x1002fd62
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
sete dl
xor ecx, ecx
imul edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x18]
jne 0x1002fe4b
mov dword [ebp - 0x1c], 0x70a8
cmp dword [ebp - 0x1c], 0x739c
jle 0x1002fde3
mov esi, ebx
mov edi, ebx
lea eax, [edi + esi]
mov ecx, 0x1007bb98
cdq
push edx
push eax
call fcn.100042e3
inc edi
cmp edi, 0xd4c
jl 0x1002fdaf
inc esi
cmp esi, 0x2d0d
jl 0x1002fdad
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x2275
push ebx
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
push 0x2c99
push 0x6da5
mov edx, 0x5389
xor cl, cl
call fcn.100333f9
pop ecx
mov byte [ebp - 4], 9
cmp dword [ebp - 0x1c], 0x6edd
pop ecx
jge 0x1002fe17
mov edx, str.yjz_oenddpao_gmcwsvf_pcjyytwyq_uverf_jly_yrpt_dkcfl_ulvn_vmrrfj_qfophxxur
mov ecx, 0x1007bb98
call fcn.100067dc
mov dword [ebp - 4], 8
jmp 0x1002fe5c
sub esp, 0xc
mov byte [ebp - 0x2d], bl
lea ecx, [ebp - 0x2d]
call fcn.10031707
add esp, 0xc
push 4
lea ecx, [ebp - 0x90]
call fcn.10004595
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xcc]
xor eax, eax
inc eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], 0x64f16efa
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], 0xfffffff6
mov dword [ebp - 0x60], 0xed890fc5
mov dword [ebp - 0x24], 0xfffffffa
push eax
call fcn.10004595
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0x1c], 0x10caad90
push 1
call fcn.10004595
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0xd
push ebx
push eax
lea edx, [ebp - 0x70]
mov ecx, 0x3bd5
call fcn.10031629
pop ecx
push 1
push ecx
push ecx
lea eax, [ebp - 0xcc]
push eax
lea edx, [ebp - 0x70]
call fcn.100333b4
add esp, 0x10
lea eax, [ebp - 0x70]
mov cl, 1
push 0xe18
push 0xe1b
push eax
lea eax, [ebp - 0xc0]
push 0x71ce
push eax
call fcn.10032251
mov dword [ebp - 0x14], 3
add esp, 0x18
cmp dword [ebp - 0x14], ebx
jl 0x10030077
mov dword [ebp - 0xac], 0x9f7f
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0x18], 0x37182abb
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], 0xd585ed06
mov dword [ebp - 0x24], 0xdad5a519
mov dword [ebp - 0x24], 9
mov dword [ebp - 0x24], 0xfffffff8
push 1
call fcn.10004595
push 0xcb6
lea eax, [ebp - 0xf4]
mov byte [ebp - 4], 0xe
push eax
push ebx
mov dword [ebp - 0x24], 0xc280563a
lea ecx, [ebp - 0xa8]
push 0x45b
mov edx, 0x5cf0
call fcn.100311e8
add esp, 0xc
lea eax, [ebp - 0xac]
push 1
push ecx
push eax
push 0x3342
mov ecx, 0x4120
call fcn.10031f57
mov edx, dword [ebp - 0x14]
add esp, 0x14
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [eax + edx*4]
inc dword [ebp - 0x1c]
cmp eax, ecx
jle 0x1002ffbe
xor edi, edi
inc edi
jmp 0x1002ffc0
mov edi, ebx
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp - 0x90]
mov esi, dword [ebp - 0x14]
cmp dword [ecx + eax*4], 0xd538
mov eax, dword [ecx]
setne dl
xor ecx, ecx
sub eax, edx
sub eax, 7
cmp eax, 0x44688d23
mov eax, dword [ebp - 0xc0]
setge cl
mov dword [eax], ecx
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax]
mov eax, dword [ebp - 0x24]
add eax, ecx
sub eax, edx
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x7b6c411e
mov eax, dword [ebp - 0x90]
setge cl
sub ecx, edx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
sub ecx, dword [eax + esi*4]
mov eax, dword [ebp - 0x60]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
cmp edi, eax
setge cl
mov dword [ebp - 0x24], ecx
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0xa8], 0
je 0x1003006e
push dword [ebp - 0xa8]
call fcn.100497d9
pop ecx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
dec dword [ebp - 0x14]
jns 0x1002ff1a
cmp dword [ebp - 0xc0], 0
je 0x1003008c
push dword [ebp - 0xc0]
call fcn.100497d9
pop ecx
cmp dword [ebp - 0xcc], 0
je 0x100300a1
push dword [ebp - 0xcc]
call fcn.100497d9
pop ecx
mov byte [ebp - 4], 8
cmp dword [ebp - 0x90], 0
je 0x100300ba
push dword [ebp - 0x90]
call fcn.100497d9
pop ecx
push 0x20
pop eax
push 2
mov ecx, ebx
mov dword [ebp - 0x48], 0x2a024b03
mov dword [ebp - 0x44], 0x4000701
mov dword [ebp - 0x40], 0x6c5b7603
mov word [ebp - 0x7e], ax
pop esi
mov dword [ebp - 0x58], ecx
cmp esi, 8
jne 0x100300ee
push 4
pop ecx
push 0xa
mov dword [ebp - 0x58], ecx
pop esi
jmp 0x1003013d
movzx edx, byte [ebp + esi - 0x47]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x4a]
movzx ecx, word [ebp + eax*2 - 0x84]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x48]
add ecx, edx
mov edx, 0x68ed
mov word [ebp + eax*2 - 0x84], cx
lea eax, [ebp - 0x58]
push eax
push ecx
push ecx
push 1
push 0x2708
mov ecx, 0xeed
call fcn.10030cf1
mov ecx, dword [ebp - 0x58]
add esp, 0x14
add esi, 2
cmp esi, 0xc
jb 0x100300de
xor eax, eax
mov dword [ebp - 0xf8], 7
mov word [ebp - 0x7c], ax
lea ecx, [ebp - 0x10c]
mov word [ebp - 0x10c], ax
lea eax, [ebp - 0x84]
push eax
mov dword [ebp - 0xfc], ebx
call fcn.1000936f
xor eax, eax
mov byte [ebp - 4], 0xf
lea edi, [ebp - 0x84]
xor dl, dl
stosd dword es:[edi], eax
mov ecx, 0x72b8
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.10032a76
pop ecx
pop ecx
mov ecx, dword [ebp - 0x74]
lea eax, [ebp - 0xd8]
push eax
call fcn.10033b8a
push ebx
push 1
lea ecx, [ebp - 0x10c]
call fcn.10004a5c
lea ecx, [ebp - 0xd8]
call fcn.10034015
jmp 0x100301dc
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je 0x100301dc
push 0
push 0
call dword [sym.imp.GDI32.dll_RectInRegion]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret