Function at 0x1003c580
Capabilities:
Set environment variable

Disassembly:
mov eax, 0x1005d5c8
call fcn.1005c388
sub esp, 0x264
cmp byte [ebp + 0x14], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, edx
je 0x1003d595
cmp byte [ebp + 0x20], 0
je 0x1003cc44
mov ecx, dword [ebp + 0x24]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
je 0x1003cc36
lea eax, [ebp - 0x94]
xor ebx, ebx
push eax
push 0x1000
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], ebx
call fcn.10022db5
mov dword [ebp - 4], ebx
mov edi, 0xc57
mov eax, dword [ebp - 0xac]
sub eax, dword [ebp - 0xb0]
push dword [ebp - 0xb0]
sar eax, 1
push eax
push edi
push 0x33b7
call fcn.10035f8f
pop ecx
pop ecx
call eax
push dword [ebp - 0xb0]
lea ecx, [ebp - 0xd8]
call fcn.100050be
push 0x2c55
mov byte [ebp - 4], 1
call fcn.1002271f
cmp dword [ebp - 0xc4], 8
pop ecx
movzx edx, ax
lea ecx, [ebp - 0xd8]
cmovae ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xb4], edx
cmp word [ecx + eax*2 - 2], dx
je 0x1003c68d
push ecx
push 0x40f4
lea eax, [ebp - 0xb4]
push eax
push ecx
xor ecx, ecx
lea eax, [ebp - 0xd8]
push 0x130c
push eax
lea edx, [ecx + 1]
mov ecx, 0x1cd7
call fcn.1003b975
add esp, 0x18
push 0x51a3
xor eax, eax
lea ecx, [ebp - 0xd8]
inc eax
push eax
push 0xa1f
push eax
push 0x3458
push 0x115c
push ecx
mov dl, al
mov ecx, 0x619b
call fcn.1003afff
add esp, 0x1c
lea eax, [ebp - 0xd8]
cmp dword [ebp - 0xc4], 8
cmovae eax, dword [ebp - 0xd8]
push ebx
push eax
push edi
push 0x1008
call fcn.10035f8f
pop ecx
pop ecx
call eax
mov dword [ebp - 0x24], 0x6505
cmp dword [ebp - 0x24], 0x67e5
jle 0x1003c73c
mov esi, ebx
mov dword [ebp + 0x14], ebx
mov edi, ebx
mov ecx, edi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x74], ebx
sar esi, cl
mov ecx, ebx
mov eax, esi
shl eax, cl
mov ecx, 0x10075fb8
cdq
push edx
push eax
call fcn.10004fa9
inc ebx
cmp ebx, 0x6d51
jl 0x1003c705
mov esi, dword [ebp + 0x14]
inc edi
push 0
pop ebx
cmp edi, 0x75b0
jl 0x1003c6f8
inc esi
mov dword [ebp + 0x14], esi
cmp esi, 0x70a1
jl 0x1003c6f6
push dword [ebp - 0xb4]
push ecx
lea ecx, [ebp - 0xd8]
call fcn.1000876f
mov byte [ebp - 4], 2
cmp dword [ebp - 0x24], 0x615a
jge 0x1003c76a
mov edx, str.hnuchrrzd_enjztymr_frjkqx
mov ecx, 0x10075fb8
call fcn.1000736a
xor eax, eax
inc eax
push 0x7c71
push 0x47b3
push 0x4657
push ecx
push dword [ebp + 0x24]
mov dword [ebp - 4], eax
lea ecx, [ebp - 0xb8]
push eax
mov edx, 0x532c
mov dword [ebp - 0xb8], ebx
call fcn.1003bdd2
xor eax, eax
mov dword [ebp + 0x14], ebx
add esp, 0x18
mov word [ebp - 0x64], 0x4d03
inc eax
mov byte [ebp - 0x61], bl
mov byte [ebp - 0x62], al
mov word [ebp - 0x60], 0x1d02
mov byte [ebp - 0x5e], bl
mov byte [ebp - 0x5d], 0x56
mov byte [ebp - 0x5c], al
mov byte [ebp - 0x5b], 0x24
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x164]
call fcn.10007f20
push 0x10
pop edx
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 4
call fcn.10008cb0
push ecx
push ecx
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x164]
call fcn.10027487
push 0x65
pop eax
mov ecx, ebx
mov word [ebp - 0xf6], ax
push 2
xor ebx, ebx
mov dword [ebp - 0xa0], ecx
pop esi
inc ebx
cmp esi, 8
jne 0x1003c84b
push 2
pop ecx
mov dword [ebp - 0xa0], ecx
jmp 0x1003c89f
movzx edx, byte [ebp + esi - 0x63]
mov eax, esi
sub eax, ecx
push 0x816
push ebx
push ebx
movzx eax, byte [ebp + eax - 0x66]
push ebx
movzx ecx, word [ebp + eax*2 - 0xfc]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x64]
add ecx, edx
mov edx, 0x7054
mov word [ebp + eax*2 - 0xfc], cx
lea eax, [ebp - 0xa0]
push eax
mov ecx, 0x56df
call fcn.1003b9e9
mov ecx, dword [ebp - 0xa0]
add esp, 0x14
add esi, 2
cmp esi, 0xa
jb 0x1003c817
xor eax, eax
mov dword [ebp - 0x1b4], 7
mov word [ebp - 0xf4], ax
lea ecx, [ebp - 0x1c8]
mov word [ebp - 0x1c8], ax
xor ebx, ebx
lea eax, [ebp - 0xfc]
mov dword [ebp - 0x1b8], ebx
push eax
call fcn.10005655
push ecx
push ecx
lea eax, [ebp - 0x1c8]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x164]
call fcn.10027487
xor ecx, ecx
mov byte [ebp - 4], 5
inc ecx
push ebx
push ecx
lea ecx, [ebp - 0x1c8]
call fcn.100056dd
xor eax, eax
lea edi, [ebp - 0xfc]
cmp dword [ebp - 0x150], 8
stosd dword es:[edi], eax
push ebx
push 0x80
push 2
stosd dword es:[edi], eax
push ebx
push ebx
push 0x40000000
stosw word es:[edi], ax
lea eax, [ebp - 0x164]
cmovae eax, dword [ebp - 0x164]
mov edi, 0xc57
push eax
push edi
push 0x362d
call fcn.10035f8f
pop ecx
pop ecx
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x1003c994
push ebx
lea eax, [ebp - 0x1cc]
push eax
push dword [ebp - 0xb8]
mov eax, dword [ebp + 0x24]
push dword [eax]
push esi
push edi
push 0x3768
call fcn.10035f8f
pop ecx
pop ecx
call eax
push esi
test eax, eax
push edi
push 0x262e
setne bl
call fcn.10035f8f
pop ecx
pop ecx
call eax
test bl, bl
jne 0x1003c9d6
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x234]
call fcn.100056dd
xor eax, eax
lea ecx, [ebp - 0x164]
inc eax
push ebx
push eax
mov byte [ebp - 4], al
call fcn.100056dd
mov edi, dword [ebp + 0x14]
inc edi
mov dword [ebp + 0x14], edi
cmp edi, 0x12c
jb 0x1003c7c3
mov eax, dword [ebp + 0xc]
mov dword [eax], 2
jmp 0x1003cc18
push 0x22
pop eax
xor ebx, ebx
mov dword [ebp - 0x54], 0xd1033800
mov ecx, ebx
mov word [ebp - 0x50], 0xd2e4
push 2
mov word [ebp - 0x58], ax
inc ebx
pop esi
mov dword [ebp - 0x9c], ecx
cmp esi, 2
jne 0x1003ca0a
push 4
pop ecx
push ecx
mov dword [ebp - 0x9c], ecx
pop esi
jmp 0x1003ca5a
movzx edx, byte [ebp + esi - 0x53]
mov eax, esi
sub eax, ecx
push 0x51d0
push ebx
push ebx
movzx eax, byte [ebp + eax - 0x56]
push 0x77d8
push 0x4bf
push ebx
movzx eax, word [ebp + eax*2 - 0x58]
mov ecx, eax
and eax, edx
or ecx, edx
mov edx, 0xa00
sub ecx, eax
movzx eax, byte [ebp + esi - 0x54]
mov word [ebp + eax*2 - 0x58], cx
lea ecx, [ebp - 0x9c]
call fcn.1003bb23
mov ecx, dword [ebp - 0x9c]
add esp, 0x18
add esi, 2
cmp esi, 6
jb 0x1003c9f8
xor eax, eax
mov dword [ebp - 0x168], 7
mov word [ebp - 0x56], ax
lea ecx, [ebp - 0x17c]
mov word [ebp - 0x17c], ax
xor ebx, ebx
lea eax, [ebp - 0x58]
mov dword [ebp - 0x16c], ebx
push eax
call fcn.10005655
push 0x6546
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 7
push eax
push ecx
push ecx
mov dl, 1
mov dword [ebp - 0x58], ebx
lea ecx, [ebp - 0x164]
call fcn.1003c532
add esp, 0x10
mov byte [ebp - 0x84], 2
xor eax, eax
mov word [ebp - 0x82], 0xd00
inc eax
mov word [ebp - 0x7f], 0x402
mov byte [ebp - 0x83], al
mov ecx, ebx
push 0x2f
mov byte [ebp - 0x80], al
mov byte [ebp - 0x7c], al
pop eax
push 2
pop esi
push 0xd
mov byte [ebp - 0x7d], 0x2c
mov dword [ebp - 0x7b], 0x73039aef
mov word [ebp - 0xec], ax
mov dword [ebp - 0x90], ecx
pop edi
cmp esi, 6
jne 0x1003cb10
push 5
pop ecx
push 9
mov dword [ebp - 0x90], ecx
pop esi
jmp 0x1003cb69
movzx edx, byte [ebp + esi - 0x83]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x86]
movzx ecx, word [ebp + eax*2 - 0xf0]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x84]
add ecx, edx
xor dl, dl
mov word [ebp + eax*2 - 0xf0], cx
lea eax, [ebp - 0x90]
push eax
push 0x1ffd
push ecx
push ecx
mov ecx, 0x26a6
call fcn.1003c532
mov ecx, dword [ebp - 0x90]
add esp, 0x10
add esi, 2
cmp esi, edi
jb 0x1003cafd
xor eax, eax
mov dword [ebp - 0x19c], 7
mov word [ebp - 0xe8], ax
lea ecx, [ebp - 0x1b0]
mov word [ebp - 0x1b0], ax
lea eax, [ebp - 0xf0]
push eax
mov dword [ebp - 0x1a0], ebx
call fcn.10005655
push ecx
push ecx
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x17c]
call fcn.10027487
push ebx
push 1
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 4], 7
call fcn.100056dd
xor eax, eax
lea edi, [ebp - 0xf0]
stosd dword es:[edi], eax
lea edx, [ebp - 0xd8]
lea ecx, [ebp - 0x17c]
stosd dword es:[edi], eax
stosw word es:[edi], ax
call fcn.1003a589
mov ecx, dword [ebp + 0xc]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [ebp - 0x17c]
call fcn.100056dd
push ebx
push 1
lea ecx, [ebp - 0x234]
call fcn.100056dd
push ebx
push 1
lea ecx, [ebp - 0x164]
call fcn.100056dd
push ebx
push 1
lea ecx, [ebp - 0xd8]
call fcn.100056dd
lea ecx, [ebp - 0xb0]
call fcn.1000584a
jmp 0x1003d625
mov eax, dword [ebp + 0xc]
mov dword [eax], 1
jmp 0x1003d625
mov ecx, dword [ebp + 0x10]
xor ebx, ebx
mov dword [ebp - 0x13c], ecx
xor ecx, ecx
mov dword [ebp - 0x18], 0xfffffffb
inc ecx
mov dword [ebp - 0x24], 0x72fa5d87
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 4
jle 0x1003cdc8
jmp 0x1003cc75
xor ecx, ecx
inc ecx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x18], ebx
je 0x1003cc8d
mov eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
inc eax
cmp dword [ebp - 0x20], eax
jg 0x1003cc8f
mov ecx, ebx
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
cmp dword [ebp - 0x18], ecx
jne 0x1003cd8e
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
jmp 0x1003ccc5
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x188], 0xa98c
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x1003ccb4
mov dword [ebp - 0x20], ebx
jmp 0x1003cd21
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x1003cd18
push 0x556b
xor eax, eax
mov edx, 0x3def
inc eax
mov ecx, 0x26af
push eax
push 0x3086
push ebx
push ebx
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x124]
push 0x6d9c
push 0x1d5f
push eax
call fcn.1003c580
add esp, 0x20
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xb
jg 0x1003ccdc
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x16
jl 0x1003ccd0
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov dword [ebp - 0x24], 0xbf5e
inc ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x188]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x188]
cmp ecx, eax
mov ecx, dword [ebp - 0x188]
sbb eax, eax
inc eax
add ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0xfc1c5751
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setg dl
xor ebx, ebx
cmp edx, 0xf419
setne bl
xor ecx, ecx
cmp ebx, eax
setg cl
xor ebx, ebx
mov dword [ebp - 0x28], ecx
jmp 0x1003cdbb
push 0x6b75
push ecx
lea eax, [ebp + 0x17]
mov byte [ebp + 0x17], bl
push eax
push 0x78a
push 0x4c40
push 0x10f2
push ecx
push ecx
xor dl, dl
mov ecx, 0x1c4e
call fcn.10039a45
add esp, 0x20
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jg 0x1003cc72
mov dword [ebp - 0x44], 0x8c6a53d0
mov dword [ebp - 0x98], 5
mov dword [ebp - 0x12c], 7
mov dword [ebp - 0x14], 0x6d9b
cmp dword [ebp - 0x14], 0x6f87
jle 0x1003ce50
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x24], ebx
mov eax, esi
shl eax, cl
lea ecx, [ebp - 0x258]
and eax, edi
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003ce1a
mov eax, dword [eax]
push eax
call fcn.100443ac
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x258]
call fcn.10005611
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x27af
jl 0x1003cdfc
inc esi
cmp esi, 0x59d7
jl 0x1003cdf7
inc edi
cmp edi, 0x2720
jl 0x1003cdf5
cmp dword [ebp - 0x14], 0x69b7
jge 0x1003ce64
push str.gbsgwaj_jzclbr_wry_gawlviwza_lfixq_tqla_egjplip_tizx
call fcn.100443ac
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x14], ebx
jmp 0x1003ce7e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x21c], 0x6cd33356
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1003ce6d
lea eax, [ebp - 0x12c]
push eax
xor eax, eax
lea edx, [ebp - 0x98]
inc eax
lea ecx, [ebp - 0x44]
push eax
push eax
push eax
call fcn.10039801
mov eax, dword [ebp - 0x98]
add esp, 0x10
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x218]
add eax, dword [ebp - 0x44]
jne 0x1003cebc
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x218]
cmp eax, dword [ebp - 0x98]
jl 0x1003cedd
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1003cf03
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
jmp 0x1003cf03
push 0x5155
push 0x6be9
push ecx
push ecx
push ebx
push ecx
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x138], 0xfa1a
call fcn.1003a04a
add esp, 0x18
push 0x7c
pop eax
push 2
mov dword [ebp - 0x3c], 0xf5027800
mov ecx, ebx
mov byte [ebp - 0x38], 0xcd
mov word [ebp - 0x40], ax
pop esi
cmp esi, 2
jne 0x1003cf26
push 3
pop ecx
push ecx
pop esi
jmp 0x1003cf4f
movzx edx, byte [ebp + esi - 0x3b]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x3e]
movzx ecx, word [ebp + eax*2 - 0x40]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x3c]
add ecx, edx
mov word [ebp + eax*2 - 0x40], cx
mov ecx, ebx
add esi, 2
cmp esi, 5
jb 0x1003cf1a
xor eax, eax
xor edx, edx
mov word [ebp - 0x3e], ax
inc edx
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x24], 9
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 3
jge 0x1003cf8d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x240], edx
inc dword [ebp - 0x14]
jmp 0x1003cf78
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 0xffffffec
jne 0x1003d04c
mov esi, 0xc4ab
mov dword [ebp - 0x14], 0xb96ca2cb
mov dword [ebp - 0x198], esi
mov dword [ebp - 0x194], esi
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x18c], esi
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x14], ebx
jmp 0x1003d039
mov dword [ebp - 0x18], ebx
jmp 0x1003cfd8
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x14c], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1003cfcb
mov dword [ebp - 0x18], ebx
jmp 0x1003cff4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x20c], 0x52a26f3f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1003cfe3
mov dword [ebp - 0x14c], 3
cmp dword [ebp - 0x14c], ebx
jl 0x1003d036
mov ecx, dword [ebp - 0x14c]
xor eax, eax
cmp ecx, edx
mov dword [ebp - 0x200], ecx
mov dword [ebp - 0x240], ecx
sete al
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x200]
dec dword [ebp - 0x14c]
jns 0x1003d00c
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe7
jge 0x1003cfc6
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffec
je 0x1003cf9f
inc dword [ebp - 0x24]
lea ecx, [ebp - 0x1fc]
xor eax, eax
mov dword [ebp - 0x1e8], 7
mov word [ebp - 0x1fc], ax
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x1ec], ebx
call fcn.10005655
mov edx, dword [ebp + 0x1c]
lea eax, [ebp - 0x1fc]
push eax
lea ecx, [ebp - 0x11c]
mov dword [ebp - 4], 0xb
call fcn.10039582
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 0xd
call fcn.100056dd
mov dword [ebp - 0x34], 0xec2e0cf5
mov dword [ebp - 0x28], 0x9ebf495e
mov dword [ebp - 0x28], 0x58382bdb
mov dword [ebp - 0x28], 0x3a00d0e7
mov dword [ebp - 0x34], ebx
jmp 0x1003d0e8
push ecx
push ecx
push 0x4ef6
push ebx
sub esp, 0xc
mov byte [ebp - 0x2d], bl
mov edx, 0xb14
lea ecx, [ebp - 0x2d]
call fcn.1003ad81
add esp, 0x1c
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 8
jl 0x1003d0c7
lea eax, [ebp - 0x34]
xor dl, dl
push eax
xor eax, eax
mov ecx, 0x7c7
inc eax
push eax
push 0x252b
push eax
push 0x21bb
push 0x5144
push 0x4a53
call fcn.1003afff
mov dword [ebp - 0x40], ebx
xor ecx, ecx
add esp, 0x1c
mov dword [ebp - 0x20], 0x7c7ce53d
mov dword [ebp - 0x14], ebx
inc ecx
jmp 0x1003d139
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x88], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1003d12c
push 0xd
mov dword [ebp - 0x20], ebx
pop edi
cmp dword [ebp - 0x20], ebx
jg 0x1003d32f
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x1003d166
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x88], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1003d159
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x88]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x88], ecx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], ebx
jg 0x1003d324
mov dword [ebp - 0x48], 0x1c4
cmp dword [ebp - 0x48], 0x2f4
jle 0x1003d1f5
mov dword [ebp - 0x24], ebx
mov edx, ebx
mov dword [ebp - 0x14], ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x4c], ebx
mov eax, esi
sar eax, cl
mov ecx, 0x10075fb8
and eax, edx
and eax, dword [ebp - 0x24]
cdq
push edx
push eax
call fcn.10004fa9
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x4c], ecx
cmp ecx, 0x2c67
jl 0x1003d1aa
inc esi
cmp esi, 0x371f
jl 0x1003d1a5
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 0x467f
jl 0x1003d1a3
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x2a34
jl 0x1003d19e
push ecx
push 1
push ecx
mov edx, 0xcc6
call fcn.1003a67b
add esp, 0xc
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x48], 0xfffffef9
jge 0x1003d222
mov edx, str.xlytr_eaiy_inskzx_bzrpnhny_dygwee_aghchgukd
mov ecx, 0x10075fb8
call fcn.1000736a
mov dword [ebp - 4], edi
mov dword [ebp - 0x28], 0x345b
cmp dword [ebp - 0x28], 0x3747
jle 0x1003d2be
push ebx
push 0x2329
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov ecx, esi
mov dword [ebp - 0x4c], 0x5cf4
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x48], ecx
mov eax, esi
or eax, ecx
lea ecx, [ebp - 0x270]
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003d280
mov eax, dword [eax]
push eax
call fcn.100443ac
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x270]
call fcn.10005611
mov ecx, dword [ebp - 0x48]
dec ecx
dec dword [ebp - 0x4c]
mov dword [ebp - 0x48], ecx
jne 0x1003d264
mov esi, dword [ebp - 0x14]
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0xdac
jl 0x1003d255
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x6445
jl 0x1003d250
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1003d2d1
push ecx
push 1
call fcn.1003961f
pop ecx
pop ecx
cmp dword [ebp - 0x28], 0x3392
jge 0x1003d2e5
push str.lkhox_iwzgyyof_xfaot_gixyfio_ygq_zxujxtqs_fssetf_zvluw_mcxydu
call fcn.100443ac
pop ecx
mov dword [ebp - 4], edi
inc dword [ebp - 0x18]
jmp 0x1003d182
inc dword [ebp - 0x20]
xor ecx, ecx
inc ecx
jmp 0x1003d144
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1003d344
push ecx
mov dl, cl
call fcn.10039648
pop ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0xc0], 0x62ccd204
mov dword [ebp - 0x134], 0x595a2e71
mov dword [ebp - 0x130], 0xffff
mov dword [ebp - 0x2c], 0xfffffff2
cmp dword [ebp - 0x2c], 0x16
jl 0x1003d413
jmp 0x1003d37b
xor ecx, ecx
inc ecx
lea eax, [ebp - 0x74]
mov dword [ebp - 0x74], 0x58a835a2
push eax
push ecx
push 0x3fb6
lea eax, [ebp - 0xbc]
mov dword [ebp - 0xbc], ecx
push eax
lea eax, [ebp - 0xc0]
mov dword [ebp - 0x110], 0x9642e40c
push eax
lea eax, [ebp - 0x110]
mov dword [ebp - 0x128], 0xb56fe18b
push eax
push ecx
push ecx
mov dl, cl
lea ecx, [ebp - 0x2c]
call fcn.10039a45
lea eax, [ebp - 0x2c]
mov edx, 0x3d57
push eax
push ebx
lea eax, [ebp - 0x128]
push eax
push 1
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xbc]
push eax
push 0x4a8c
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x134]
push eax
lea ecx, [ebp - 0x130]
call fcn.10039c29
add esp, 0x44
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x16
jge 0x1003d378
mov ecx, ebx
mov dword [ebp - 0x70], 0x2d03a701
push 2
xor ebx, ebx
mov dword [ebp - 0x6c], 0x29e0502
mov word [ebp - 0x68], 0x2a
inc ebx
mov byte [ebp - 0x66], 3
mov word [ebp - 0xe2], di
pop esi
mov dword [ebp - 0xa4], ecx
cmp esi, 4
jne 0x1003d453
push 3
pop ecx
push 5
mov dword [ebp - 0xa4], ecx
pop esi
jmp 0x1003d4bf
movzx edx, byte [ebp + esi - 0x6f]
mov eax, esi
sub eax, ecx
push 0x5fce
push ebx
push 0x4ce8
movzx eax, byte [ebp + eax - 0x72]
push ebx
push 0x1435
push 0x33d1
movzx ecx, word [ebp + eax*2 - 0xe4]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x70]
add ecx, edx
mov edx, 0x28b3
mov word [ebp + eax*2 - 0xe4], cx
lea eax, [ebp - 0xa4]
push eax
push 0xb8
push 0x71ac
mov ecx, 0x4352
call fcn.10039c29
mov ecx, dword [ebp - 0xa4]
add esp, 0x24
add esi, 2
cmp esi, 0xb
jb 0x1003d440
xor eax, eax
mov dword [ebp - 0x1d0], 7
mov word [ebp - 0xdc], ax
lea ecx, [ebp - 0x1e4]
mov word [ebp - 0x1e4], ax
xor ebx, ebx
lea eax, [ebp - 0xe4]
mov dword [ebp - 0x1d4], ebx
push eax
call fcn.10005655
xor eax, eax
mov byte [ebp - 4], 0x12
lea edi, [ebp - 0xe4]
mov dword [ebp - 0x8c], ebx
stosd dword es:[edi], eax
push 0x18
pop ecx
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [ebp - 0x118]
sub eax, dword [ebp - 0x11c]
cdq
idiv ecx
mov esi, eax
test esi, esi
je 0x1003d568
push ecx
lea eax, [ebp - 0x11c]
xor dl, dl
push eax
push 0xec1
push ecx
lea eax, [ebp - 0x1e4]
push eax
push 0x5684
lea ecx, [ebp - 0x8c]
call fcn.1003b975
mov eax, dword [ebp - 0x8c]
add esp, 0x18
inc eax
mov dword [ebp - 0x8c], eax
cmp eax, esi
jb 0x1003d52d
mov ecx, dword [ebp + 0x10]
lea eax, [ebp - 0x11c]
push eax
call fcn.1003dbf9
push ebx
push 1
lea ecx, [ebp - 0x1e4]
call fcn.100056dd
lea ecx, [ebp - 0x11c]
call fcn.1003dfb0
jmp 0x1003d625
cmp byte [ebp + 0x18], 0
je 0x1003d5b8
push ecx
call fcn.1000801c
pop ecx
mov dword [ebp - 0x120], eax
mov ecx, esi
lea eax, [ebp - 0x120]
push eax
call fcn.1003ddd6
jmp 0x1003d625
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [esi], ebx
cmp dword [esi], 9
jg 0x1003d625
xor eax, eax
push 0xfffffffffffffff8
inc eax
pop edi
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x108], edi
mov dword [ebp - 0x104], edi
mov dword [ebp - 0x100], edi
mov dword [ebp - 0x108], ebx
jmp 0x1003d615
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1003d60f
push 0x3707
push ebx
push eax
push eax
mov edx, 0xd0f
mov ecx, 0x57f6
call fcn.10039801
xor eax, eax
add esp, 0x10
inc eax
dec dword [ebp - 0x108]
cmp dword [ebp - 0x108], 0xffffffeb
jg 0x1003d5ea
inc dword [esi]
cmp dword [esi], 9
jle 0x1003d5ca
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret