Function at 0x1003a57a
Capabilities:
Get common file path
Get thread local storage value
Set thread local storage value

Disassembly:
mov eax, 0x10061f24
call fcn.10060508
sub esp, 0x338
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor ebx, ebx
mov dword [ebp - 0xf0], ecx
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x34], 0xc405
mov dword [ebp - 0x18], ebx
push 4
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x278], ebx
call fcn.10004892
mov dword [ebp - 4], ebx
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x3c], 0x66c1
mov dword [ebp - 0x30], 0x45fc
cmp dword [ebp - 0x30], 0x4851
jle 0x1003a636
mov esi, ebx
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x2c], ebx
and eax, edi
lea ecx, [ebp - 0x2fc]
or eax, esi
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003a601
mov eax, dword [eax]
push eax
call fcn.100483dc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2fc]
call fcn.10004d74
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x3c3c
jl 0x1003a5e5
inc edi
cmp edi, 0x3532
jl 0x1003a5e0
inc esi
cmp esi, 0x3832
jl 0x1003a5de
cmp dword [ebp - 0x30], 0x45a4
jge 0x1003a64a
push str.kees_nwrhisnio_crue_feli_mxmdny
call fcn.100483dc
pop ecx
push 4
mov dword [ebp - 0x24], ebx
pop edx
jmp 0x1003a665
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x220]
mov dword [eax + ecx*4], 0xa9864ba8
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edx
jl 0x1003a652
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
test eax, eax
mov eax, dword [ebp - 0x220]
setg cl
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x220]
inc dword [ebp - 0x3c]
or dword [ebp - 4], 0xffffffff
call fcn.100048f4
mov eax, 0xee1c
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x18], 0x93e6
mov dword [ebp - 0x30], 0xfffffff8
mov dword [ebp - 0x2c], 0xf3bd791
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 0x20], 0x9a1d127a
mov dword [ebp - 0x24], ebx
jmp 0x1003a6fb
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x25c], 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x1003a6ea
mov eax, dword [ebp - 0xb4]
cmp dword [ebp - 0xbc], ebx
je 0x1003a79b
cmp dword [ebp - 0xb4], ebx
jne 0x1003a78e
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0xb4]
cmp eax, ecx
setge dl
cmp edx, 0xa023703a
jb 0x1003a73e
cmp dword [ebp - 0x18], ebx
jne 0x1003a73e
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x18]
mov ecx, 0xbbfad0d7
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
sbb edx, edx
neg edx
sub edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb4]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setge cl
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x30], ebx
jne 0x1003a78e
mov eax, ebx
jmp 0x1003a791
xor eax, eax
inc eax
cmp eax, dword [ebp - 0x30]
je 0x1003a79b
xor ecx, ecx
inc ecx
jmp 0x1003a79d
mov ecx, ebx
mov eax, dword [ebp - 0xb8]
imul eax, ecx
xor ecx, ecx
push 3
cmp eax, 0x3363
mov eax, dword [ebp - 0xb4]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xbc]
setge dl
sub edx, eax
mov dword [ebp - 0x2c], edx
xor edx, edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov dword [ebp - 0x2c], ebx
setne dl
xor eax, eax
cmp edx, 0x415e
pop edx
setl al
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x20], eax
push 0x6c
pop eax
setl cl
mov dword [ebp - 0x94], 0x52201
push 2
mov dword [ebp - 0x20], ecx
mov cl, 1
mov dword [ebp - 0x90], 0x449b302
mov dword [ebp - 0x8c], 0xe020d
mov word [ebp - 0x88], 0x628
mov byte [ebp - 0x86], 0x1b
mov byte [ebp - 0x85], dl
mov byte [ebp - 0x84], 0x3e
mov word [ebp - 0x1b2], ax
pop esi
mov dword [ebp - 0x20], esi
cmp esi, 0x11
jae 0x1003aca0
movzx eax, cl
lea eax, [eax*2 + 2]
cmp esi, eax
jne 0x1003a874
movzx eax, byte [ebp + esi - 0x94]
dec esi
add esi, eax
lea edx, [eax + 1]
mov dword [ebp - 0x2c], edx
jmp 0x1003ac98
mov dword [ebp - 0x44], 0x7980
cmp dword [ebp - 0x44], 0x7d25
jle 0x1003a910
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov eax, ebx
mov dword [ebp - 0x30], ebx
mov esi, ebx
mov dword [ebp - 0x3c], ebx
cdq
mov edi, ebx
idiv esi
mov esi, ecx
mov ecx, edx
shl esi, cl
mov ecx, edi
mov eax, esi
sar eax, cl
lea ecx, [ebp - 0x32c]
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003a8c0
mov eax, dword [eax]
push eax
call fcn.100483dc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x32c]
call fcn.10004d74
inc edi
cmp edi, 0x6549
jl 0x1003a8a2
mov esi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
inc esi
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x3c], esi
cmp esi, 0x1fe5
jl 0x1003a897
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x244e
jl 0x1003a892
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x675c
jl 0x1003a88d
call dword [sym.imp.KERNEL32.dll_GetConsoleCP]
mov dword [ebp - 0x18], 0xe1757117
cmp dword [ebp - 0x44], 0x78ac
jge 0x1003a92b
push str.lrqn_ciqscputt_irz_nuqq_qfkjtt_cdhnr_vtosy_sfkh_esmes
call fcn.100483dc
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x214]
push 3
pop esi
mov dword [ebp - 0x24], ebx
push esi
call fcn.10004892
mov dword [ebp - 4], 5
mov dword [ebp - 0x24], ebx
jmp 0x1003a960
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x214]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1003a94d
mov dword [ebp - 0x18], 0x1c
cmp dword [ebp - 0x18], 0xfffffff2
jne 0x1003ac48
mov dword [ebp - 0x30], 0xfffffffc
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x30], ebx
cmp dword [ebp - 0x30], 0x12
je 0x1003ac23
push 2
lea ecx, [ebp - 0x23c]
call fcn.10004892
mov byte [ebp - 4], 6
mov dword [ebp - 0x48], 9
mov dword [ebp - 0x24], ebx
jmp 0x1003a9be
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x23c]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x1003a9ae
mov dword [ebp - 0x48], 1
cmp dword [ebp - 0x48], ebx
jl 0x1003ac0c
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0x160]
push esi
call fcn.10004892
mov byte [ebp - 4], 7
mov dword [ebp - 0x24], ebx
jmp 0x1003a9ff
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x160]
mov dword [eax + ecx*4], 0x9ff9
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1003a9ec
xor ecx, ecx
mov dword [ebp - 0x1c], ebx
inc ecx
cmp dword [ebp - 0x1c], ecx
jg 0x1003abf2
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x230], 0xb1b57606
mov dword [ebp - 0x22c], 0xb1b57606
mov dword [ebp - 0x228], 0xb1b57606
mov dword [ebp - 0x224], 0xb1b57606
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], ebx
jl 0x1003abea
mov dword [ebp - 0x44], 0x221e9c96
mov dword [ebp - 0x28], 0x9063
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x44], ebx
jl 0x1003abc1
mov dword [ebp - 0x40], 0x21d2
cmp dword [ebp - 0x40], 0x259e
jle 0x1003ab03
mov edx, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x98], 0x86a
mov dword [ebp - 0x3c], ecx
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0x314]
or eax, edx
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003aab2
mov eax, dword [eax]
push eax
call fcn.100483dc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x314]
call fcn.10004d74
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x24]
add ecx, esi
dec dword [ebp - 0x98]
mov dword [ebp - 0x3c], ecx
jne 0x1003aa94
inc esi
cmp esi, 0x5437
jl 0x1003aa85
inc edi
cmp edi, 0x1ad2
jl 0x1003aa83
inc edx
mov dword [ebp - 0x24], edx
cmp edx, 0x2796
jl 0x1003aa81
push 0x1d55
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [ebp - 0x24], ebx
jmp 0x1003ab19
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x1a4], 0xc4b664fb
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x1003ab08
cmp dword [ebp - 0x40], 0x2132
jge 0x1003ab33
push str.alnxvm_gig_qzobf_zhfqu_vcsz_gwdthhl_dvirtuuv_mccj_nhjdu_run_reifmn_cxrwgihn_mtxlbfdb_cwzu
call fcn.100483dc
pop ecx
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x28], ebx
jne 0x1003ab70
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x160]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4c]
cmp eax, 1
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x3c], ecx
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x1c], ecx
jge 0x1003abb1
mov eax, dword [ebp - 0x160]
cmp dword [eax], ebx
mov eax, ebx
je 0x1003abb3
mov eax, ecx
mov dword [ebp - 0x224], eax
dec dword [ebp - 0x44]
jmp 0x1003aa5f
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x3c], ebx
jl 0x1003abe2
mov dword [ebp - 0x28], 0xd964
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x28], 0xfffffffa
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
dec dword [ebp - 0x3c]
jns 0x1003abc9
dec dword [ebp - 0x4c]
jmp 0x1003aa45
inc dword [ebp - 0x1c]
jmp 0x1003aa0a
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 6
call fcn.100048f4
dec dword [ebp - 0x48]
push 3
pop esi
jmp 0x1003a9cb
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 5
call fcn.100048f4
inc dword [ebp - 0x30]
jmp 0x1003a987
mov dword [ebp - 0x24], ebx
jmp 0x1003ac3b
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x214]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x1003ac28
dec dword [ebp - 0x18]
jmp 0x1003a96c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x214]
call fcn.100048f4
mov esi, dword [ebp - 0x20]
mov eax, esi
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], ebx
movzx edx, byte [ebp + esi - 0x93]
movzx eax, byte [ebp + eax - 0x96]
movzx eax, word [ebp + eax*2 - 0x1b4]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + esi - 0x94]
mov word [ebp + eax*2 - 0x1b4], cx
mov cl, byte [ebp - 0x94]
add esi, 2
jmp 0x1003a844
push 3
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x1003acb9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x254], 0xcd45
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1003aca8
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x1003acd9
push 0x1c5b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MonitorFromWindow]
dec dword [ebp - 0x254]
lea ecx, [ebp - 0x290]
xor eax, eax
mov dword [ebp - 0x27c], 7
mov word [ebp - 0x1a6], ax
mov word [ebp - 0x290], ax
lea eax, [ebp - 0x1b4]
push eax
mov dword [ebp - 0x280], ebx
call fcn.10004db8
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x20], 0x28e0
cmp dword [ebp - 0x20], 0x2bdd
jle 0x1003ad65
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov eax, esi
cdq
idiv ebx
mov eax, edi
mov ecx, edx
shl eax, cl
mov ecx, 0x1007c858
cdq
push edx
push eax
call fcn.10004668
inc ebx
cmp ebx, 0x1935
jl 0x1003ad2f
inc esi
push 0
pop ebx
cmp esi, 0x2478
jl 0x1003ad2c
inc edi
cmp edi, 0x6d39
jl 0x1003ad2a
mov eax, 0x44455595
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x20], 0x266d
jge 0x1003ad9e
mov edx, str.lpwpy_uhfuphcxo_pyanpbthf_kygfhxdms_skp_anrcnt_gvsexq_vkvi_ashkipj_tzkijas_ujzumkv_zrld
mov ecx, 0x1007c858
call fcn.10006b3c
push 3
pop edi
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 0x18], ebx
jmp 0x1003ade9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x144], 0x9649
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1003add8
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0xd0]
cmp ecx, eax
mov eax, dword [ebp - 0xd4]
setne dl
xor ecx, ecx
cmp edx, 0xfffffffa
setge cl
sub ecx, eax
mov eax, dword [ebp - 0x1c]
add eax, ecx
jne 0x1003ae24
cmp dword [ebp - 0xd4], ebx
jne 0x1003ae24
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xd0]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x1c], ebx
jmp 0x1003ae6c
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xd4]
mov dword [ebp - 0x144], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x1003ae59
mov esi, ebx
push dword [ebp - 0x9c]
movdqa xmm0, xmmword [0x1006fa70]
lea eax, [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x2e4]
mov dword [ebp - 0x12c], ebx
push eax
push ebx
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x128], ebx
movdqu xmmword [ebp - 0x2e4], xmm0
mov dword [ebp - 0x124], ebx
call fcn.100073f4
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x18], ebx
jmp 0x1003aecf
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xfc], 2
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1003aebe
mov dword [ebp - 0xf4], ebx
cmp dword [ebp - 0xf4], 0xffffffe9
jge 0x1003af90
mov edi, dword [ebp - 0x12c]
push 3
lea ecx, [ebp - 0x19c]
call fcn.10004892
mov dword [ebp - 0x20], 9
push 3
mov dword [ebp - 0x28], 0x1de6fc60
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x1003af23
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x19c]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1003af10
mov eax, dword [ebp - 0x19c]
mov ecx, dword [eax]
sub ecx, dword [edi + 8]
mov eax, dword [ebp - 0xf4]
sub ecx, 0x181290e8
add eax, ecx
je 0x1003af4d
cmp dword [ebp - 0x20], ebx
je 0x1003af4d
xor edx, edx
inc edx
jmp 0x1003af4f
mov edx, ebx
mov eax, dword [ebp - 0x19c]
xor ecx, ecx
cmp dword [eax], edx
setg cl
sub ecx, dword [edi + 0xc]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 1
lea ecx, [ebp - 0x19c]
setle al
mov dword [ebp - 0x28], eax
call fcn.100048f4
dec dword [ebp - 0xf4]
cmp dword [ebp - 0xf4], 0xffffffe9
jl 0x1003aeed
push 3
pop edi
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0xa
call fcn.100048f4
xor eax, eax
mov word [ebp + esi*2 - 0x1b4], ax
inc esi
cmp esi, 8
jb 0x1003ae73
push dword [ebp - 0x154]
lea ecx, [ebp - 0x2b4]
call fcn.100078fc
push 1
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 0xe
call fcn.10004892
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x18], ebx
jmp 0x1003aff1
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x114]
mov dword [eax + ecx*4], 0x53b26bdd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1003afde
mov eax, dword [ebp - 0x114]
mov dword [eax], ebx
cmp dword [eax], 0x1a
jle 0x1003b177
mov dword [ebp - 0x28], 0xd94
cmp dword [ebp - 0x28], 0xdf7
jle 0x1003b06e
mov dword [ebp - 0x2c], ebx
mov edi, ebx
mov esi, ebx
mov eax, ebx
mov ebx, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
lea ecx, [eax + esi]
mov eax, edi
shl eax, cl
mov ecx, 0x1007c858
xor eax, ebx
cdq
push edx
push eax
call fcn.10004668
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x66b0
jl 0x1003b027
inc esi
push 0
pop ebx
cmp esi, 0x2023
jl 0x1003b01f
inc edi
cmp edi, 0xcab
jl 0x1003b01d
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x11d4
jl 0x1003b01b
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x28], 0xc3f
jge 0x1003b0af
mov edx, str.zmgemskj_aei_huyc_hcqrl
mov ecx, 0x1007c858
call fcn.10006b3c
jmp 0x1003b0af
mov dword [ebp - 4], 0xf
push 4
mov dword [ebp - 0x20], 0xffffffff
pop ecx
mov dword [ebp - 0x18], ebx
jmp 0x1003b0d3
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x58], 0xfb6318d5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003b0c5
mov dword [ebp - 0x54], 0xffffffed
jmp 0x1003b0ef
mov dword [ebp - 0x28], 5
mov dword [ebp - 0x28], ecx
inc dword [ebp - 0x54]
cmp dword [ebp - 0x54], 0xb
jge 0x1003b0e2
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x58], ebx
je 0x1003b109
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x114]
cmp dword [edx], eax
setl cl
mov dword [ebp - 0x54], ecx
test ecx, ecx
jne 0x1003b12a
cmp dword [edx], ebx
je 0x1003b12a
inc ecx
jmp 0x1003b12c
mov ecx, ebx
xor eax, eax
cmp ecx, 0xffffffff
setle al
add eax, dword [ebp - 0x20]
je 0x1003b15d
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x1003b16a
push 0x10a2
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetROP2]
jmp 0x1003b16a
mov dword [ebp - 0x20], 2
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x114]
inc dword [eax]
jmp 0x1003afff
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 0xe
call fcn.100048f4
mov dword [ebp - 0x40], 0x709d
cmp dword [ebp - 0x40], 0x710d
jle 0x1003b367
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], 0x23de
cmp dword [ebp - 0x20], 0xfb0
jge 0x1003b307
lea eax, [ebp - 0xb0]
mov dword [ebp - 0x60], ebx
push eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0xb0], ebx
push eax
push str._ld__ld
call fcn.10048aff
mov eax, dword [ebp - 0x60]
add esp, 0xc
xor ecx, ecx
inc eax
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.100438b4
mov esi, eax
mov eax, dword [ebp - 0x60]
pop ecx
mov ecx, ebx
test eax, eax
js 0x1003b203
mov dword [esi + ecx*4], ebx
inc ecx
mov eax, dword [ebp - 0x60]
cmp ecx, eax
jle 0x1003b1f8
cmp dword [ebp - 0xb0], 0
mov edi, ebx
jle 0x1003b2dd
lea eax, [ebp - 0x64]
mov dword [ebp - 0xc4], ebx
push eax
lea eax, [ebp - 0x68]
mov dword [ebp - 0x68], ebx
push eax
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x64], ebx
push eax
push str._ld__ld__ld
call fcn.10048aff
mov ecx, dword [ebp - 0xc4]
add esp, 0x10
mov eax, dword [esi + ecx*4]
test eax, eax
jle 0x1003b26b
cdq
push 3
pop ecx
idiv ecx
mov eax, dword [ebp - 0x68]
inc edx
mov dword [esi + eax*4], edx
mov eax, dword [ebp - 0xc4]
mov eax, dword [esi + eax*4]
cdq
idiv ecx
lea eax, [edx + 1]
cdq
idiv ecx
mov eax, dword [ebp - 0x64]
jmp 0x1003b2ac
mov eax, dword [ebp - 0x68]
mov eax, dword [esi + eax*4]
test eax, eax
jle 0x1003b285
cdq
idiv dword [ebp - 0x34]
push 3
inc edx
mov dword [esi + ecx*4], edx
mov eax, dword [ebp - 0x68]
pop ecx
jmp 0x1003b25a
mov eax, dword [ebp - 0x64]
mov eax, dword [esi + eax*4]
test eax, eax
jle 0x1003b2b2
cdq
idiv dword [ebp - 0x34]
push 3
inc edx
mov dword [esi + ecx*4], edx
mov eax, dword [ebp - 0x64]
pop ecx
mov eax, dword [esi + eax*4]
cdq
idiv ecx
lea eax, [edx + 1]
cdq
idiv ecx
mov eax, dword [ebp - 0x68]
inc edx
mov dword [esi + eax*4], edx
jmp 0x1003b2cd
mov dword [esi + ecx*4], 1
mov eax, dword [ebp - 0x68]
mov dword [esi + eax*4], 2
mov eax, dword [ebp - 0x64]
mov dword [esi + eax*4], 3
inc edi
cmp edi, dword [ebp - 0xb0]
jl 0x1003b212
mov eax, dword [ebp - 0x60]
xor edi, edi
inc edi
cmp eax, edi
jl 0x1003b2f9
push dword [esi + edi*4]
push str._ld
call fcn.100483dc
inc edi
pop ecx
pop ecx
cmp edi, dword [ebp - 0x60]
jle 0x1003b2e4
push 0x1006eb48
call fcn.100483dc
mov eax, dword [ebp - 0x18]
pop ecx
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov edi, esi
mov dword [ebp - 0x20], 0x3b26
mov esi, eax
mov dword [ebp - 0x98], ebx
mov ecx, edi
sar esi, cl
mov ecx, ebx
mov eax, esi
sar eax, cl
mov ecx, 0x1007c858
cdq
push edx
push eax
call fcn.10004668
inc ebx
cmp ebx, 0x4996
jl 0x1003b321
mov eax, dword [ebp - 0x18]
dec edi
dec dword [ebp - 0x20]
push 0
pop ebx
jne 0x1003b315
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x248c
jl 0x1003b30c
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x50d6
jl 0x1003b19f
push dword [ebp - 0x9c]
movdqa xmm0, xmmword [0x1006fab0]
lea eax, [ebp - 0x2b4]
push eax
lea eax, [ebp - 0x2c4]
mov dword [ebp - 0x2c], 0x3b2b74c3
push eax
mov dword [ebp - 0x20], 0xfffffff9
lea ecx, [ebp - 0x150]
push ebx
movdqu xmmword [ebp - 0x2c4], xmm0
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x148], ebx
call fcn.100073f4
push 3
pop edi
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 0x20], 0x7d2a7e9f
push edi
call fcn.10004892
mov dword [ebp - 0x1c], ebx
jmp 0x1003b3e7
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xe0], 0xe7937d8e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1003b3d6
mov dword [ebp - 0x1c], ebx
jmp 0x1003b404
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1d8]
mov dword [eax + ecx*4], 2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1003b3f1
mov eax, dword [ebp - 0xe0]
xor edx, edx
mov eax, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x2c], 0xfffffffc
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe0]
cmp ecx, eax
setl dl
mov dword [ebp - 0x20], edx
xor edx, edx
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0xe0]
mov dword [eax + 8], esi
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
mov eax, dword [ebp - 0xe0]
setg dl
xor ecx, ecx
cmp esi, eax
setne cl
cmp edx, ecx
je 0x1003b46f
cmp dword [ebp - 0x2c], ebx
je 0x1003b46f
xor ecx, ecx
inc ecx
jmp 0x1003b471
mov ecx, ebx
mov eax, dword [ebp - 0xe0]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0xd8]
setg dl
xor ecx, ecx
cmp eax, edx
setg cl
xor edx, edx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x1d8]
setne dl
xor ecx, ecx
cmp edx, 1
setg cl
mov dword [eax], ecx
lea ecx, [ebp - 0x1d8]
call fcn.100048f4
lea ecx, [ebp - 0x150]
call fcn.100048f4
push 0x5c
pop eax
push 2
mov byte [ebp - 0x80], bl
mov ecx, ebx
mov dword [ebp - 0x7f], 0x5fdb04ea
mov word [ebp - 0x7b], 0x16a9
mov word [ebp - 0x78], ax
pop esi
cmp esi, 2
jne 0x1003b4ec
push 5
pop ecx
push ecx
pop esi
jmp 0x1003b518
movzx edx, byte [ebp + esi - 0x7f]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x82]
movzx ecx, word [ebp + eax*2 - 0x78]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x80]
add ecx, edx
mov word [ebp + eax*2 - 0x78], cx
mov ecx, ebx
add esi, 2
cmp esi, 7
jb 0x1003b4e0
xor eax, eax
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x40], 0x6f37
mov word [ebp - 0x76], ax
jge 0x1003b563
mov edx, str.vprblkd_mrukptv_xoxrdv_stwukek_fmvtch_mfyqo_pjctew_lzgm_qyvshpdd_myzvgrshs_kbeuiw_yekb_njp
mov ecx, 0x1007c858
call fcn.10006b3c
jmp 0x1003b563
mov dword [ebp - 4], 0xe
lea eax, [ebp - 0x2c4]
push dword [ebp - 0x9c]
movdqa xmm0, xmmword [0x1006fa60]
lea ecx, [ebp - 0x140]
push eax
lea eax, [ebp - 0x2d4]
mov dword [ebp - 0x140], ebx
push eax
push ebx
movdqu xmmword [ebp - 0x2d4], xmm0
mov dword [ebp - 0x13c], ebx
mov dword [ebp - 0x138], ebx
call fcn.100073f4
push edi
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x15
call fcn.10004892
mov dword [ebp - 0x20], 0xb8ea2c39
mov dword [ebp - 0x20], 0xb5ea
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1003b5eb
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x248]
mov dword [eax + ecx*4], 0xb88146cd
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1003b5d8
mov eax, dword [ebp - 0x140]
lea ecx, [ebp - 0x248]
mov dword [eax], ebx
dec dword [ebp - 0x20]
call fcn.100048f4
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0xe
call fcn.100048f4
xor eax, eax
mov dword [ebp - 0x1b8], 7
mov word [ebp - 0x1cc], ax
lea ecx, [ebp - 0x1cc]
lea eax, [ebp - 0x78]
mov dword [ebp - 0x1bc], ebx
push eax
call fcn.10004db8
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x24], 0xbf5c
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x1c], 0x8bc698dc
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x40], 0x3799
cmp dword [ebp - 0x40], 0x3a1f
jle 0x1003b6b3
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x20], 0x7d10
mov esi, dword [ebp - 0x2c]
mov edi, ebx
mov eax, edi
mov ecx, 0x1007c858
and eax, esi
cdq
push edx
push eax
call fcn.10004668
inc edi
cmp edi, 0x59ed
jl 0x1003b682
mov esi, dword [ebp - 0x28]
add dword [ebp - 0x2c], esi
dec dword [ebp - 0x20]
jne 0x1003b67d
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x38c1
jl 0x1003b673
mov dword [ebp - 0x34], 0xe6337258
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x40], 0x369e
jge 0x1003b6f4
mov edx, str.ndiwu_koe_leln_lkilskdn_jpak_kta_seorlpkr_sxlzjaahq_aocn_unnghz_yqhij_tknkhozkv
mov ecx, 0x1007c858
call fcn.10006b3c
jmp 0x1003b6f4
mov dword [ebp - 4], 0x16
lea ecx, [ebp - 0x1f0]
mov dword [ebp - 0x48], 1
push 2
call fcn.10004892
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x20], 0x7c5c6a81
mov dword [ebp - 0x30], 0xe68f
mov dword [ebp - 0x28], 4
mov dword [ebp - 0x40], 0x32b8
mov dword [ebp - 0x18], ebx
jmp 0x1003b747
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1f0]
mov dword [eax + ecx*4], 0x7b187b35
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003b734
cmp dword [ebp - 0x24], ebx
jne 0x1003b7d0
mov eax, dword [ebp - 0x30]
dec dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x1f0]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x34]
neg eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x3c]
je 0x1003b79b
cmp dword [ebp - 0x4c], ebx
jne 0x1003b79b
mov ecx, ebx
jmp 0x1003b79e
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x44]
inc eax
add eax, ecx
mov ecx, 0xd2300b63
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
cmp ecx, eax
sbb eax, eax
inc eax
add eax, dword [ebp - 0x4c]
jne 0x1003b7d0
mov edx, ebx
jmp 0x1003b7d3
xor edx, edx
inc edx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
sub edx, eax
mov eax, dword [ebp - 0x24]
cmp eax, edx
mov eax, dword [ebp - 0x34]
setg cl
xor edx, edx
cmp ecx, eax
setge dl
add edx, dword [ebp - 0x28]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], ebx
cmp dword [ebp - 0x48], 0xc
jg 0x1003bade
mov dword [ebp - 0x24], 4
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 0x44], 0xb1b2b150
push 2
call fcn.10004892
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x20], 0x387f
cmp dword [ebp - 0x20], 0x3a65
jle 0x1003b9e2
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x28], 0x163c
cmp dword [ebp - 0x28], 0x937
jge 0x1003b9a0
call fcn.1004a5b7
push eax
push 0x1006ebe4
push str.in.txt
call fcn.1004a766
add esp, 0xc
call fcn.1004a5b7
add eax, 0x20
push eax
push 0x1006ebf0
push str.out.txt
call fcn.1004a766
add esp, 0xc
lea eax, [ebp - 0x50]
push eax
push 0x1006e950
call fcn.10048aff
mov eax, dword [ebp - 0x50]
pop ecx
pop ecx
test eax, eax
je 0x1003b99d
push eax
lea ecx, [ebp - 0x1fc]
call fcn.10004892
mov byte [ebp - 4], 0x1b
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0xa0], ebx
test esi, esi
jle 0x1003b8d9
mov edi, dword [ebp - 0x1fc]
push edi
mov ecx, 0x1007c978
call fcn.1001c4d9
mov esi, dword [ebp - 0x50]
inc ebx
add edi, 4
cmp ebx, esi
jl 0x1003b8c1
xor ebx, ebx
mov edi, ebx
mov dword [ebp - 0x104], ebx
mov dword [ebp - 0x108], edi
mov dword [ebp - 0x100], ebx
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0xa0], esi
test esi, esi
jle 0x1003b939
mov ebx, dword [ebp - 0x1fc]
mov eax, dword [ebx + esi*4 - 4]
lea ecx, [ebp - 0xa0]
push ecx
push ecx
lea ecx, [ebp - 0x108]
lea eax, [edi + eax*4]
push eax
lea eax, [ebp - 0x294]
push eax
call fcn.1003c705
mov edi, dword [ebp - 0x108]
dec esi
mov dword [ebp - 0xa0], esi
test esi, esi
jg 0x1003b901
mov esi, dword [ebp - 0x50]
xor ebx, ebx
lea eax, [esi - 1]
mov dword [ebp - 0x28], ebx
test eax, eax
jle 0x1003b969
push dword [edi + ebx*4]
mov ecx, 0x1007c858
call fcn.100291e9
mov edx, 0x1006ebfc
mov ecx, eax
call fcn.10006b3c
mov esi, dword [ebp - 0x50]
inc ebx
lea eax, [esi - 1]
cmp ebx, eax
jl 0x1003b943
xor ebx, ebx
push dword [edi + esi*4 - 4]
mov ecx, 0x1007c858
call fcn.100291e9
push eax
call fcn.1001ee99
pop ecx
lea ecx, [ebp - 0x108]
call fcn.100048f4
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 0x1a
call fcn.100048f4
jmp 0x1003b883
mov eax, dword [ebp - 0x18]
mov esi, ebx
mov edi, ebx
mov ecx, esi
mov ebx, eax
shl ebx, cl
mov eax, edi
mov ecx, 0x1007c858
xor eax, ebx
cdq
push edx
push eax
call fcn.10004668
inc edi
cmp edi, 0x184f
jl 0x1003b9aa
mov eax, dword [ebp - 0x18]
inc esi
push 0
pop ebx
cmp esi, 0x7da3
jl 0x1003b9a2
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0xb7d
jl 0x1003b83c
mov dword [ebp - 0x28], 0x7bf6b3da
mov byte [ebp - 4], 0x1d
cmp dword [ebp - 0x20], 0x3576
jge 0x1003ba26
mov edx, str.ahhyhoc_fwfc_ako_nevzast_lgshfxnw_hbobbts_hquuycme_obbuon_vjn
mov ecx, 0x1007c858
call fcn.10006b3c
jmp 0x1003ba26
mov dword [ebp - 4], 0x1a
mov dword [ebp - 0x18], ebx
jmp 0x1003ba45
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1e4]
mov dword [eax + ecx*4], 0xd726993c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003ba32
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x1c]
jge 0x1003ba62
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], ebx
jne 0x1003ba62
mov ecx, ebx
jmp 0x1003ba65
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x1c], ebx
je 0x1003ba74
cmp dword [ebp - 0x24], ebx
je 0x1003ba74
xor eax, eax
inc eax
jmp 0x1003ba76
mov eax, ebx
add ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp ecx, dword [ebp - 0x24]
jg 0x1003ba94
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x44]
xor edx, edx
mov eax, dword [ebp - 0x48]
cmp ecx, eax
mov eax, dword [ebp - 0x1e4]
setge dl
mov dword [eax], edx
xor eax, eax
test edx, edx
sete al
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], ebx
je 0x1003babb
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x1e4]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x28], ebx
mov byte [ebp - 4], 0x19
call fcn.100048f4
inc dword [ebp - 0x48]
jmp 0x1003b7fa
lea ecx, [ebp - 0x1f0]
mov byte [ebp - 4], 0x16
call fcn.100048f4
push 1
lea ecx, [ebp - 0x184]
mov dword [ebp - 0x78], ebx
call fcn.10004892
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x20], 0x4d2b5f79
mov dword [ebp - 0x28], 0x3dd972c4
push 2
call fcn.10004892
mov byte [ebp - 4], 0x20
xor edx, edx
mov dword [ebp - 0x24], 0xffffffff
inc edx
mov dword [ebp - 0x40], 4
mov dword [ebp - 0x1c], ebx
jmp 0x1003bb49
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x184]
mov dword [eax + ecx*4], 2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1003bb36
mov dword [ebp - 0x1c], ebx
jmp 0x1003bb5d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x5c], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1003bb53
mov dword [ebp - 0x1c], ebx
jmp 0x1003bb76
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x178]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003bb67
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x184]
mov dword [eax], ecx
cmp ecx, dword [ebp - 0x5c]
je 0x1003bb9c
mov esi, edx
cmp dword [ebp - 0x28], ebx
jne 0x1003bb9e
mov esi, ebx
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
cmp esi, eax
mov eax, dword [ebp - 0x178]
push 0
setne cl
cmp ecx, 7
sbb ecx, ecx
inc ecx
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x20]
pop ecx
setne cl
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x24], ecx
jne 0x1003bbd8
mov eax, dword [ebp - 0x178]
cmp dword [eax], ebx
jne 0x1003bbd8
mov edx, ebx
mov eax, dword [ebp - 0x5c]
add eax, edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], ebx
jl 0x1003bcb5
mov dword [ebp - 0x40], 0x5b41
cmp dword [ebp - 0x40], 0x5c5e
jle 0x1003bc5e
mov dword [ebp - 0x2c], ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov esi, ebx
mov ebx, dword [ebp - 0x2c]
mov dword [ebp - 0x20], esi
mov eax, edi
cdq
idiv esi
mov esi, 0x67a
mov edi, edx
mov ecx, edi
mov eax, ebx
sar eax, cl
mov ecx, 0x1007c858
cdq
push edx
push eax
call fcn.10004668
dec edi
dec esi
jne 0x1003bc18
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x61ff
jl 0x1003bc0c
inc edi
mov dword [ebp - 0x28], edi
push 0
pop ebx
cmp edi, 0x7b6d
jl 0x1003bc04
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x733
jl 0x1003bbff
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x184]
cmp dword [eax + ecx*4], ebx
jne 0x1003bcb5
mov byte [ebp - 4], 0x21
cmp dword [ebp - 0x40], 0x5b20
jge 0x1003bca6
mov edx, str.opyr_czdy_mqapspbvs_cneewue_gwvts_oozmbwv
mov ecx, 0x1007c858
call fcn.10006b3c
jmp 0x1003bca6
mov dword [ebp - 4], 0x20
dec dword [ebp - 0x24]
jmp 0x1003bbe3
lea ecx, [ebp - 0x178]
call fcn.100048f4
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0x16
call fcn.100048f4
push 0x5f
pop eax
push 2
mov byte [ebp - 0x70], bl
mov dword [ebp - 0x6f], 0xfef00430
mov word [ebp - 0x6b], 0xf633
mov word [ebp - 0x74], ax
pop esi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x34], esi
cmp esi, 7
jae 0x1003be85
mov dword [ebp - 0x20], 0x52cb
cmp dword [ebp - 0x20], 0x536d
jle 0x1003bd70
push ebx
push 0x1eb5
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
lea eax, [edi + esi]
and eax, ebx
xor eax, ecx
mov ecx, 0x1007c858
cdq
push edx
push eax
call fcn.10004668
mov ecx, dword [ebp - 0x18]
inc ebx
cmp ebx, 0x3436
jl 0x1003bd20
inc edi
push 0
pop ebx
cmp edi, 0x2d29
jl 0x1003bd1d
inc esi
cmp esi, 0x4507
jl 0x1003bd1b
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x69f6
jl 0x1003bd19
push 0x140c
push ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov esi, dword [ebp - 0x34]
movzx eax, byte [ebp - 0x70]
lea eax, [eax*2 + 2]
cmp esi, eax
jne 0x1003be10
movzx eax, byte [ebp + esi - 0x70]
mov dword [ebp - 0x20], 0x5120
cmp dword [ebp - 0x20], 0x54df
mov dword [ebp - 0x28], eax
lea edi, [eax + 1]
mov dword [ebp - 0x2c], edi
jle 0x1003bdf0
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
shl eax, cl
lea ecx, [ebp - 0x344]
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003bdc3
mov eax, dword [eax]
push eax
call fcn.100483dc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x344]
call fcn.10004d74
inc edi
cmp edi, 0x2ff
jl 0x1003bda5
inc esi
cmp esi, 0x6695
jl 0x1003bda3
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
dec esi
add esi, eax
cmp dword [ebp - 0x20], 0x4f83
jge 0x1003be07
push str.exhoyzhc_sws_lhctwstj_tohc_cqsmazpb_ifxipi_zaw_oqlsphgp_qqn_qidbngi_acuwtu_wcaweyyx
call fcn.100483dc
pop ecx
mov dword [ebp - 4], 0x16
jmp 0x1003be7d
mov byte [ebp - 4], 0x25
cmp dword [ebp - 0x20], 0x5182
jge 0x1003be4d
mov edx, str.agwr_ibukyclp_sgsc_jfqnxo_rpsvekr_dyvvkprt
mov ecx, 0x1007c858
call fcn.10006b3c
jmp 0x1003be4d
mov eax, esi
mov dword [ebp - 4], 0x16
sub eax, dword [ebp - 0x2c]
movzx edx, byte [ebp + esi - 0x6f]
mov dword [ebp - 0x2c], ebx
movzx eax, byte [ebp + eax - 0x72]
movzx eax, word [ebp + eax*2 - 0x74]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + esi - 0x70]
mov word [ebp + eax*2 - 0x74], cx
add esi, 2
jmp 0x1003bcec
xor eax, eax
push 3
mov word [ebp - 0x72], ax
mov dword [ebp - 0x18], ebx
pop edi
jmp 0x1003bea4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xec], 0xe1757117
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1003be93
mov dword [ebp - 0xe8], ebx
jmp 0x1003bf25
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1003beca
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x134], 0x23e64f14
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003beb9
mov ecx, dword [ebp - 0xec]
xor edx, edx
mov eax, dword [ebp - 0xe8]
imul ecx, eax
mov eax, dword [ebp - 0x130]
add ecx, eax
mov eax, dword [ebp - 0xec]
cmp ecx, eax
mov eax, dword [ebp - 0x130]
setge dl
xor ecx, ecx
cmp eax, 0x28fb
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x134]
setge cl
xor edx, edx
cmp ecx, dword [ebp - 0x20]
setl dl
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x20], ecx
inc dword [ebp - 0xe8]
cmp dword [ebp - 0xe8], 0x17
jge 0x1003beb1
xor eax, eax
mov dword [ebp - 0x260], 7
mov word [ebp - 0x274], ax
lea ecx, [ebp - 0x274]
lea eax, [ebp - 0x74]
mov dword [ebp - 0x264], ebx
push eax
call fcn.10004db8
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x40], 0xffffffff
push 1
call fcn.10004892
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x208]
xor eax, eax
mov dword [ebp - 0x20], 0xe6a3735b
inc eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x34], 0xaf14186e
push eax
call fcn.10004892
mov dword [ebp - 0x20], 0x367afff1
xor edx, edx
mov dword [ebp - 0x20], 0x5bccbf78
inc edx
mov dword [ebp - 0x1c], ebx
jmp 0x1003bfc2
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x120]
mov dword [eax + ecx*4], 5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1003bfaf
mov dword [ebp - 0x1c], ebx
jmp 0x1003bfdf
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x208]
mov dword [eax + ecx*4], 0xfffffffe
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1003bfcc
dec dword [ebp - 0x34]
imul eax, dword [ebp - 0x34], 0xffff
test eax, eax
jne 0x1003c05d
cmp dword [ebp - 0x2c], 0x3097
jne 0x1003c007
mov eax, dword [ebp - 0x120]
mov esi, edx
cmp dword [eax], ebx
jne 0x1003c009
mov esi, ebx
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax]
lea eax, [ecx + esi]
cmp eax, ecx
jg 0x1003c01f
mov ecx, edx
cmp dword [ebp - 0x2c], ebx
jne 0x1003c021
mov ecx, ebx
mov eax, dword [ebp - 0x120]
dec ecx
mov dword [eax], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x2c]
cmp eax, 0x28e
setge cl
sub ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
neg ecx
sbb ecx, ecx
add ecx, 0xf51534d4
neg ecx
sbb ecx, ecx
inc ecx
add ecx, eax
mov eax, dword [ebp - 0x208]
mov dword [eax], ecx
jne 0x1003c05d
mov edx, ebx
xor eax, eax
lea ecx, [ebp - 0x208]
cmp edx, 0x4c92
setg al
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
call fcn.100048f4
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0x27
call fcn.100048f4
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x20], 0x745e
cmp dword [ebp - 0x20], 0x75d3
jle 0x1003c0cb
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, 0x1007c858
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.10004668
inc edi
cmp edi, 0x7b11
jl 0x1003c0a2
inc esi
cmp esi, 0x6b44
jl 0x1003c0a0
push 3
pop edi
push 4
lea ecx, [ebp - 0x190]
call fcn.10004892
mov byte [ebp - 4], 0x2a
cmp dword [ebp - 0x20], 0x722c
jge 0x1003c0f4
mov edx, str.xkzeic_lzfptab_ehv_gcxekbw
mov ecx, 0x1007c858
call fcn.10006b3c
push 4
pop edx
mov dword [ebp - 4], 0x29
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x1003c141
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x190]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1003c131
mov ecx, dword [ebp - 0x190]
mov dword [ecx + 8], ebx
mov dword [ebp - 0x18], 0xa7c20398
mov dword [ebp - 0x18], 0xd
cmp dword [ebp - 0x18], 0xfffffffe
jge 0x1003c17e
mov edx, dword [ebp - 0x190]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffffe
jl 0x1003c169
dec dword [ecx + 8]
cmp dword [ecx + 8], 0xfffffff5
jge 0x1003c14f
mov byte [ebp - 0x35], bl
cmp byte [ebp - 0x35], 0
je 0x1003c1a2
push 0x1df4
push ebx
push 0x2110
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0x27
call fcn.100048f4
push dword [ebp - 0x1bc]
cmp dword [ebp - 0x1b8], 8
lea eax, [ebp - 0x1cc]
push ebx
cmovae eax, dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2b4]
push eax
call fcn.1003c662
cmp eax, 0xffffffff
je 0x1003c1f7
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x274]
push ecx
push 1
push eax
lea ecx, [ebp - 0x2b4]
call fcn.10007bfb
jmp 0x1003c1b1
mov dword [ebp - 0x30], 0xe77dd688
mov dword [ebp - 0x20], 0x3588c556
mov dword [ebp - 0x28], 0xf0dfbc43
mov dword [ebp - 0x1c], ebx
jmp 0x1003c222
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xac], 1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1003c211
mov dword [ebp - 0x1c], ebx
jmp 0x1003c23d
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x9c], 0xfffffff8
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x1003c22c
mov dword [ebp - 0x1c], ebx
jmp 0x1003c259
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x29c], 0xfffffff7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1003c248
mov dword [ebp - 0xa8], 0xfffffffe
jmp 0x1003c279
cmp dword [ebp - 0xac], ebx
jne 0x1003c282
inc dword [ebp - 0xa8]
cmp dword [ebp - 0xa8], 0x19
jle 0x1003c26b
mov dword [ebp - 0x30], 8
jmp 0x1003c321
push 1
lea ecx, [ebp - 0x16c]
call fcn.10004892
xor edx, edx
mov dword [ebp - 0x40], 0x6e6c8cac
mov dword [ebp - 0x18], ebx
inc edx
jmp 0x1003c2ba
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x16c]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x1003c2aa
mov eax, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x16c]
cmp ecx, dword [eax]
jne 0x1003c2e8
mov ecx, edx
cmp dword [ebp - 0x9c], ebx
jne 0x1003c2ea
mov ecx, ebx
mov eax, dword [ebp - 0xa8]
sub ecx, eax
je 0x1003c2fc
cmp dword [ebp - 0xa4], ebx
jne 0x1003c2fe
mov edx, ebx
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x40], ecx
lea ecx, [ebp - 0x16c]
cmp dword [ebp - 0x298], ebx
jne 0x1003c32d
call fcn.100048f4
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], 0xf
jg 0x1003c28e
jmp 0x1003c332
call fcn.100048f4
mov ecx, dword [ebp - 0xf0]
lea eax, [ebp - 0x2b4]
push eax
lea edx, [ebp - 0x290]
call fcn.1003c88a
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x274]
call fcn.10004e40
push ebx
push 1
lea ecx, [ebp - 0x1cc]
call fcn.10004e40
push ebx
push 1
lea ecx, [ebp - 0x2b4]
call fcn.10004e40
push ebx
push 1
lea ecx, [ebp - 0x290]
call fcn.10004e40
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xf0]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret