Function at 0x1003c126
Capabilities:
Get common file path

Disassembly:
mov eax, 0x10062bb4
call fcn.100612c8
sub esp, 0x3fc
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x70], edx
mov byte [ebp - 0x94], cl
test cl, cl
je 0x1003c20b
mov dword [ebp - 0x1c], 0x442
cmp dword [ebp - 0x1c], 0x4bb
jle 0x1003c1ed
mov edi, ebx
mov dword [ebp - 0x50], ebx
mov eax, ebx
mov dword [ebp - 0x54], 0x6b8c
mov dword [ebp - 0x24], eax
mov esi, ebx
and eax, esi
lea ecx, [ebp - 0x27c]
xor eax, edi
cdq
push edx
push eax
call fcn.10001a31
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003c192
mov eax, dword [eax]
push eax
call fcn.100490c6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x27c]
call fcn.1000209f
mov eax, dword [ebp - 0x24]
inc esi
cmp esi, 0xabf
jl 0x1003c176
mov esi, dword [ebp - 0x50]
add eax, esi
dec dword [ebp - 0x54]
mov dword [ebp - 0x24], eax
jne 0x1003c174
inc esi
mov dword [ebp - 0x50], esi
cmp esi, 0x90e
jl 0x1003c168
inc edi
cmp edi, 0x5e86
jl 0x1003c165
push 0xf8d
push 0x1ce0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetMessageA]
cmp dword [ebp - 0x1c], 0x1ec
jge 0x1003c201
push str.rfeoch_fvbt_fmvvkzord_hpflfx_wfpbfmmrz_eej_cwrpkx_gsb_rzmi_uaiim
call fcn.100490c6
pop ecx
mov eax, dword [ebp + 0x10]
mov dword [eax], ebx
jmp 0x1003d773
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], 0xe05dae5a
mov dword [ebp - 0x4c], 0x77278fa8
mov dword [ebp - 0x13c], ebx
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x14], ebx
je 0x1003c232
xor edx, edx
inc edx
jmp 0x1003c234
mov edx, ebx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
sub eax, 8
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x14]
cmp edx, eax
mov eax, dword [ebp - 0x14]
sete cl
xor edx, edx
mov dword [ebp - 0x20], ecx
mov ecx, 0x8e1b8814
sub ecx, eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x20], ecx
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setge cl
mov dword [ebp - 0x20], ecx
xor ecx, ecx
cmp dword [ebp - 0x20], eax
setl cl
add ecx, 0x30cc0dd
je 0x1003c2a9
push 0x168c
push 1
lea eax, [ebp - 0x47]
mov byte [ebp - 0x47], bl
push eax
push 0x6bb6
push ebx
push 0x20a
xor dl, dl
mov ecx, 0x4518
call fcn.10040281
add esp, 0x18
jmp 0x1003c35f
mov dword [ebp - 0x14], ebx
jmp 0x1003c346
lea ecx, [ebp - 0x1f0]
call fcn.10001dc8
push ecx
push ecx
push 0x6d
push 0x3965
push 0x689d
push ecx
push 0x7cf2
lea eax, [ebp - 0x1c4]
mov dword [ebp - 4], 2
push eax
lea eax, [ebp - 0x1f0]
mov dl, 1
push eax
call fcn.1003b2c5
add esp, 0x24
mov dword [ebp - 0x4c], ebx
cmp dword [ebp - 0x4c], ebx
jl 0x1003c31f
push 1
push ebx
lea eax, [ebp - 0x45]
mov byte [ebp - 0x45], bl
push eax
push 0x929
push 0x41c7
mov dl, 1
mov ecx, 0x3d4f
call fcn.1003ec99
add esp, 0x14
dec dword [ebp - 0x4c]
jns 0x1003c2f7
mov edx, 0x14c0
push ebx
push 0x11a1
lea ecx, [edx - 0x23]
call fcn.1003ec7c
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp - 0x1f0]
call fcn.10001e25
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xf
push 1
jl 0x1003c2b1
push ecx
mov ecx, 0x1428
call fcn.1003b502
pop ecx
pop ecx
push 0x7e7b
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.1003bcda
add esp, 0x10
lea ecx, [ebp - 0x200]
push 1
call fcn.10001dc8
push 0x3306
lea eax, [ebp - 0x200]
mov dword [ebp - 4], 3
push eax
push ebx
lea eax, [ebp - 0x140]
mov dword [ebp - 0x14], 0xffffffff
push eax
push ecx
mov ecx, 0x3f47
call fcn.1003bfc6
mov dword [ebp - 0x14], ebx
add esp, 0x14
cmp dword [ebp - 0x14], ebx
jl 0x1003c48d
push dword [ebp - 0x140]
lea eax, [ebp - 0x23c]
mov dword [ebp - 0x120], ebx
push eax
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x11c], ebx
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x118], ebx
push ebx
lea ecx, [ebp - 0x120]
movdqu xmmword [ebp - 0x24c], xmm0
call fcn.10007dd5
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0x120]
mov dword [ebp - 0x18], 0xa80e3580
mov dword [esi + 4], ebx
push ecx
call fcn.1003d7a6
dec dword [esi + 4]
pop ecx
jns 0x1003c412
mov dword [ebp - 0x18], ebx
jmp 0x1003c470
push 0x5402
push 0x6c8a
push 0x82
push 0x23a5
push 0x15f6
push 0x727
push ebx
push ebx
mov edx, 0x1f75
mov cl, 1
call fcn.1003f60c
push 0x6da2
lea eax, [ebp - 0x3e]
mov byte [ebp - 0x3e], bl
push eax
push 0x1a44
mov edx, 0x787
call fcn.1004025f
add esp, 0x2c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jle 0x1003c423
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 3
call fcn.10001e25
dec dword [ebp - 0x14]
jns 0x1003c3c1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x200]
call fcn.10001e25
push 0x7c
pop eax
push 2
pop esi
mov ecx, ebx
mov word [ebp - 0x60], ax
push 7
mov dword [ebp - 0x68], 0xd044400
mov word [ebp - 0x64], 0xefdb
mov byte [ebp - 0x62], 0xb6
mov dword [ebp - 0x90], ecx
pop eax
cmp esi, 2
jne 0x1003c4d7
push 5
pop ecx
push ecx
mov dword [ebp - 0x90], ecx
pop esi
jmp 0x1003c59f
movzx edx, byte [ebp + esi - 0x67]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x6a]
movzx eax, word [ebp + eax*2 - 0x60]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + esi - 0x68]
mov word [ebp + eax*2 - 0x60], cx
mov dword [ebp - 0x20], 0x13e6
cmp dword [ebp - 0x20], 0x819
jge 0x1003c575
call fcn.1004b2de
push eax
push 0x1006fc34
push str.in.txt
call fcn.1004b48d
call fcn.1004b2de
add eax, 0x20
push eax
push 0x1006fc40
push str.out.txt
call fcn.1004b48d
xor edi, edi
inc edi
add esp, 0x14
jmp 0x1003c567
push edi
mov edx, str.SET
mov ecx, 0x1007cab8
call fcn.100036f5
mov ecx, eax
call fcn.100406a3
push eax
call fcn.1003a980
xor ecx, ecx
inc ecx
call fcn.1003c034
inc edi
call fcn.1004052a
cmp dword [0x1007dc04], 0
jne 0x1003c541
push ecx
push 0x3251
push 0x26df
push 1
push ecx
mov edx, 0x1be9
lea ecx, [ebp - 0x90]
call fcn.1003b568
mov ecx, dword [ebp - 0x90]
add esp, 0x14
push 7
pop eax
add esi, 2
cmp esi, eax
jb 0x1003c4c2
push 0x6715
lea ecx, [ebp - 0x144]
xor eax, eax
push ecx
lea ecx, [ebp - 0x128]
mov word [ebp - 0x5e], ax
push ecx
push 0x246f
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x128], 0xffffffff
push ecx
inc eax
mov dword [ebp - 0x16c], 0x27f3
push 0x14aa
push ebx
mov dword [ebp - 0x134], ebx
lea edx, [ebp - 0x16c]
mov dword [ebp - 0x144], eax
mov cl, al
push eax
call fcn.1003f60c
xor eax, eax
mov dword [ebp - 0x208], 7
add esp, 0x20
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x20c], ebx
lea ecx, [ebp - 0x21c]
push eax
call fcn.100072f5
mov edx, dword [ebp - 0x70]
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x160]
mov dword [ebp - 4], 5
call fcn.1003b146
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 7
call fcn.1000737d
push 3
lea ecx, [ebp - 0xd8]
call fcn.10001dc8
push 1
push 0x34a
lea eax, [ebp - 0x1f4]
mov byte [ebp - 4], 8
push eax
push 0x28e2
push 1
lea eax, [ebp - 0xd8]
mov dword [ebp - 0x44], 0xd3740063
push eax
push 1
mov dword [ebp - 0x34], 0xc2f5a260
mov edx, 0x21ff
push 0x72e9
mov ecx, 0x1c52
call fcn.1003b941
add esp, 0x14
lea eax, [ebp - 0xd8]
lea edx, [ebp - 0x44]
push 1
push ecx
push eax
push ecx
call fcn.1003b1ea
add esp, 0x1c
mov dword [ebp - 0x44], ebx
cmp dword [ebp - 0x44], 0x15
jge 0x1003cafa
push 2
lea ecx, [ebp - 0xc0]
call fcn.10001dc8
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 9
push ecx
xor eax, eax
mov dword [ebp - 0x3c], 0xfffffffe
inc eax
push 0x78df
push eax
push 0x1b1f
push ecx
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0x20], eax
call fcn.1003bfc6
mov esi, dword [ebp - 0xc0]
add esp, 0x14
mov dword [esi], 2
cmp dword [esi], ebx
jl 0x1003cae0
mov dword [ebp - 0x20], 0x5807c1ab
cmp dword [esi], ebx
je 0x1003c73c
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0xc0]
xor eax, eax
xor edx, edx
inc eax
sub eax, dword [esi + 4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
cmp eax, 0x3050
setl dl
xor eax, eax
sub edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0xd8]
sub edx, 0x1f19
cmp edx, dword [ecx + 8]
setle al
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
mov eax, dword [ecx + eax*4]
mov ecx, 0xcecb2ec6
sub eax, dword [ebp - 0x20]
cmp ecx, eax
sbb eax, eax
inc eax
add eax, dword [esi + 4]
mov dword [ebp - 0x20], eax
je 0x1003c9da
mov dword [ebp - 0x14], 0x65c0
cmp dword [ebp - 0x14], 0x67cc
jle 0x1003c95e
mov dword [ebp - 0x20], 0x2312
cmp dword [ebp - 0x20], 0x679
jge 0x1003c8ff
lea eax, [ebp - 0x6c]
push eax
push 0x1006b570
call fcn.1004946a
pop ecx
pop ecx
jmp 0x1003c8f4
mov edi, ebx
test ecx, ecx
jle 0x1003c7f4
lea esi, [ebp - 0x320]
push esi
push 0x1006b570
call fcn.1004946a
pop ecx
pop ecx
mov ecx, dword [ebp - 0x6c]
inc edi
add esi, 4
cmp edi, ecx
jl 0x1003c7dc
or dword [ebp - 0x408], 0xffffffff
xor edx, edx
inc edx
cmp ecx, edx
jle 0x1003c844
mov esi, dword [ebp + edx*4 - 0x320]
lea eax, [edx - 1]
mov dword [ebp + edx*4 - 0x408], eax
cmp dword [ebp + edx*4 - 0x324], esi
jl 0x1003c83f
mov eax, dword [ebp + edx*4 - 0x408]
mov eax, dword [ebp + eax*4 - 0x408]
mov dword [ebp + edx*4 - 0x408], eax
cmp eax, 0xffffffff
je 0x1003c83f
cmp dword [ebp + eax*4 - 0x320], esi
jge 0x1003c81c
inc edx
cmp edx, ecx
jl 0x1003c802
lea esi, [ecx - 2]
mov dword [ebp + ecx*4 - 0x398], ecx
test esi, esi
js 0x1003c899
mov edx, esi
shl edx, 2
mov edi, dword [ebp + edx - 0x320]
lea eax, [esi + 1]
mov dword [ebp + edx - 0x394], eax
cmp edi, dword [ebp + edx - 0x31c]
jg 0x1003c893
mov eax, dword [ebp + edx - 0x394]
mov eax, dword [ebp + eax*4 - 0x394]
mov dword [ebp + edx - 0x394], eax
cmp eax, ecx
je 0x1003c893
cmp edi, dword [ebp + eax*4 - 0x320]
jle 0x1003c871
sub edx, 4
dec esi
jns 0x1003c857
or edi, 0xffffffff
mov esi, ebx
or eax, edi
test ecx, ecx
jle 0x1003c8d7
mov ebx, eax
mov eax, dword [ebp + esi*4 - 0x394]
sub eax, dword [ebp + esi*4 - 0x408]
dec eax
imul dword [ebp + esi*4 - 0x320]
cmp edx, ebx
jl 0x1003c8ca
jg 0x1003c8c6
cmp eax, edi
jbe 0x1003c8ca
mov edi, eax
mov ebx, edx
inc esi
cmp esi, ecx
jl 0x1003c8a6
mov dword [ebp - 0x24], ebx
xor ebx, ebx
mov eax, dword [ebp - 0x24]
push eax
push edi
push str._lld_n
call fcn.100490c6
lea eax, [ebp - 0x6c]
push eax
push 0x1006b570
call fcn.1004946a
add esp, 0x14
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
jne 0x1003c7d0
mov edx, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov eax, esi
shl eax, cl
mov ecx, 0x1007cab8
or eax, edi
or eax, edx
cdq
push edx
push eax
call fcn.10001cb3
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x7e64
jl 0x1003c90d
inc esi
cmp esi, 0x32d3
jl 0x1003c908
inc edi
cmp edi, 0x7483
jl 0x1003c906
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x3835
jl 0x1003c904
push 0x1c1
push ebx
call dword [sym.imp.USER32.dll_CharLowerBuffW]
push 0x66d3
push 0x2fa7
push 0x6464
push 1
push ebx
lea eax, [ebp - 0xd8]
mov edx, 0x43e7
push eax
push 1
push 0x3eb7
lea ecx, [ebp - 0x3c]
call fcn.1003d8b5
add esp, 0x20
push 0xa
pop eax
mov byte [ebp - 4], al
cmp dword [ebp - 0x14], 0x645a
jge 0x1003c9ac
mov edx, str.hkwg_tqnqzvdy_oad_ndglgwzqd_qqptkpjp_hkprhlhaj_tksrsbn_iljbxqszk_uqbzxeyly_hrosgytei
mov ecx, 0x1007cab8
call fcn.100036f5
mov dword [ebp - 4], 9
jmp 0x1003ca21
push 0x5800
push 0x3856
push ecx
mov edx, 0x4ef0
mov ecx, 0xf54
call fcn.1003eaf3
add esp, 0xc
mov dword [ebp - 0x34], ebx
jmp 0x1003ca1b
push 0x6815
push ecx
push 0x4823
lea edx, [ebp - 0x34]
lea ecx, [ebp - 0xd8]
call fcn.1003f9dc
add esp, 0xc
inc dword [ebp - 0x34]
cmp dword [ebp - 0x34], 3
jl 0x1003c9fc
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], 2
jg 0x1003cad3
mov dword [ebp - 0x1c], 0x793a
cmp dword [ebp - 0x1c], 0x7b1b
jle 0x1003ca65
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x1007cab8
and eax, esi
cdq
push edx
push eax
call fcn.10001cb3
inc edi
cmp edi, 0x68c4
jl 0x1003ca42
inc esi
cmp esi, 0x2663
jl 0x1003ca40
push ebx
push 0x6530
lea eax, [ebp - 0xc0]
push eax
push ecx
lea eax, [ebp - 0xd8]
mov ecx, 0x2c3a
push eax
lea edx, [ebp - 0x3c]
call fcn.1003bb1d
add esp, 0x14
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x1c], 0x760c
jge 0x1003cac4
mov edx, str.wkkjatw_beib_sovek_cqghh_xzdwwzp
mov ecx, 0x1007cab8
call fcn.100036f5
jmp 0x1003cac4
mov dword [ebp - 4], 9
inc dword [ebp - 0x3c]
jmp 0x1003ca24
mov esi, dword [ebp - 0xc0]
dec dword [esi]
jmp 0x1003c720
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xc0]
cmp dword [ebp - 0x44], ebx
call fcn.10001e25
inc dword [ebp - 0x44]
jmp 0x1003c6cb
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 7
call fcn.10001e25
mov dword [ebp - 0x60], ebx
lea ecx, [ebp - 0x198]
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x14], 0x838a1f94
push 2
call fcn.10001dc8
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x14], ebx
jmp 0x1003cb4a
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x198]
mov dword [eax + ecx*4], 0xdebf624
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1003cb37
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], ebx
je 0x1003cd32
mov dword [ebp - 0x28], 0x84edc02
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], 0x77c0
cmp dword [ebp - 0x20], 0x7ac6
jle 0x1003cc0d
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov dword [ebp - 0x70], ebx
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov eax, edi
mov dword [ebp - 0xa4], ebx
mov ecx, esi
mov edi, ebx
mov esi, dword [ebp - 0x24]
shl eax, cl
mov dword [ebp - 0x30], eax
mov ecx, edi
shl eax, cl
lea ecx, [ebp - 0x294]
and eax, esi
cdq
push edx
push eax
call fcn.10001a31
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003cbbc
mov eax, dword [eax]
push eax
call fcn.100490c6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x294]
call fcn.1000209f
mov eax, dword [ebp - 0x30]
inc edi
cmp edi, 0x7be9
jl 0x1003cb9e
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x70]
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x4db2
jl 0x1003cb8a
inc edi
mov dword [ebp - 0x70], edi
cmp edi, 0x5776
jl 0x1003cb85
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x4c66
jl 0x1003cb80
mov dword [ebp - 0x14], ebx
jmp 0x1003cc23
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x1c0], 0xfffffffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1003cc12
cmp dword [ebp - 0x20], 0x76db
jge 0x1003cc3d
push str.ipdpgb_rgthzju_cuxjyuiuu_bgmmet_vhkrxxhx_qvllzxwun_tnjst_lan_bjapefa_albavkfs
call fcn.100490c6
pop ecx
push 3
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x1003ccdb
mov dword [ebp - 0x74], 0x9d08
mov dword [ebp - 0x18], ebx
jmp 0x1003ccd3
mov dword [ebp - 0x30], 0xad53a38d
cmp dword [ebp - 0x30], ebx
je 0x1003cc6d
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + eax*4 - 0x1c0]
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1c0], ecx
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x1c0]
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], edx
push eax
push ecx
lea eax, [ebp - 0x74]
mov edx, 0x6337
push eax
xor cl, cl
call fcn.1003b468
add esp, 0xc
inc dword [ebp - 0x18]
push 3
pop edx
cmp dword [ebp - 0x18], edx
jle 0x1003cc5b
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x1003cc4f
cmp dword [ebp - 0x28], ebx
jne 0x1003cd25
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x14]
je 0x1003cd03
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x28], ebx
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setg dl
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], ebx
jne 0x1003cd25
mov ecx, ebx
jmp 0x1003cd28
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x198]
mov dword [eax], ecx
jmp 0x1003cd9e
push dword [ebp - 0x12c]
movdqa xmm0, xmmword [0x100702d0]
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x22c]
mov dword [ebp - 0x150], ebx
push eax
push ebx
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x14c], ebx
movdqu xmmword [ebp - 0x22c], xmm0
mov dword [ebp - 0x148], ebx
call fcn.10007dd5
push 0x35e5
push ecx
push 0x1b16
lea edx, [ebp - 0x150]
mov byte [ebp - 4], 0x11
mov cl, 1
call fcn.1003b468
add esp, 0xc
mov byte [ebp - 4], 0xe
mov ecx, edx
call fcn.10001e25
mov dword [ebp - 0x30], 0x2238
cmp dword [ebp - 0x30], 0x9b6
jge 0x1003d07e
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x168]
push eax
push str._ld__ld
call fcn.1004946a
mov eax, dword [ebp - 0x168]
lea ecx, [ebp - 0x180]
add esp, 0xc
inc eax
push eax
call fcn.10040b71
mov byte [ebp - 4], 0x12
mov edi, ebx
cmp dword [ebp - 0xa8], 0
jle 0x1003ce43
mov esi, dword [ebp - 0x180]
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0xb0]
push eax
push str._ld__ld
call fcn.1004946a
imul ecx, dword [ebp - 0xb0], 0xc
lea eax, [ebp - 0xb4]
add esp, 0xc
push eax
add ecx, esi
call fcn.10040bdd
imul ecx, dword [ebp - 0xb4], 0xc
lea eax, [ebp - 0xb0]
push eax
add ecx, esi
call fcn.10040bdd
inc edi
cmp edi, dword [ebp - 0xa8]
jl 0x1003cdf5
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
call fcn.100201d9
mov dword [ebp - 0x5c], eax
mov byte [ebp - 4], 0x13
movzx eax, byte [0x1008bd31]
push eax
lea eax, [ebp - 0x154]
mov dword [ebp - 0x154], 1
push eax
push ecx
lea eax, [ebp - 0x264]
push eax
lea ecx, [ebp - 0x5c]
call fcn.10020296
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
call fcn.100201d9
mov dword [ebp - 0x8c], eax
mov edi, ebx
mov dword [ebp - 0xc4], ebx
mov esi, ebx
mov dword [ebp - 0xcc], edi
mov dword [ebp - 0xc8], esi
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x58], 0
je 0x1003cfe0
mov esi, dword [ebp - 0x180]
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0xcc]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
call fcn.10040bdd
movzx eax, byte [0x1008bd31]
push eax
lea eax, [ebp - 0x84]
push eax
push ecx
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x8c]
call fcn.10020296
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x5c]
call fcn.10040c30
imul edx, dword [ebp - 0x84], 0xc
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0xa4], edx
mov eax, dword [edx + esi + 4]
sub eax, dword [edx + esi]
sar eax, 2
test eax, eax
je 0x1003cfca
mov ecx, dword [ebp - 0x8c]
mov eax, dword [edx + esi]
mov edx, ecx
mov edi, dword [eax + ebx*4]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x108], edi
cmp byte [eax + 0xd], 0
jne 0x1003cf7a
cmp dword [eax + 0x10], edi
jge 0x1003cf59
mov eax, dword [eax + 8]
jmp 0x1003cf5d
mov edx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x1003cf4f
cmp edx, ecx
je 0x1003cf7a
cmp edi, dword [edx + 0x10]
jl 0x1003cf7a
mov dword [ebp - 0xf8], edx
lea eax, [ebp - 0xf8]
jmp 0x1003cf86
mov dword [ebp - 0x100], ecx
lea eax, [ebp - 0x100]
cmp dword [eax], ecx
jne 0x1003cfaf
movzx eax, byte [0x1008bd31]
push eax
lea eax, [ebp - 0x108]
push eax
push ecx
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0x5c]
call fcn.10020296
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0xa4]
inc ebx
mov eax, dword [edx + esi + 4]
sub eax, dword [edx + esi]
sar eax, 2
cmp ebx, eax
jb 0x1003cf38
xor ebx, ebx
cmp dword [ebp - 0x58], 0
jne 0x1003cebf
mov esi, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xcc]
sub esi, edi
mov dword [ebp - 0x30], ebx
sar esi, 2
test esi, esi
je 0x1003d002
push dword [edi + ebx*4]
push str._ld
call fcn.100490c6
inc ebx
pop ecx
pop ecx
cmp ebx, esi
jb 0x1003cfec
xor ebx, ebx
push 0x1006a9a1
call fcn.1004978b
pop ecx
test edi, edi
je 0x1003d02a
push edi
call fcn.10049237
pop ecx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov eax, dword [ebp - 0x8c]
lea ecx, [ebp - 0x8c]
push eax
push dword [eax]
lea eax, [ebp - 0x204]
push eax
call fcn.10040fbb
push dword [ebp - 0x8c]
call fcn.10049237
mov eax, dword [ebp - 0x5c]
pop ecx
push eax
lea ecx, [ebp - 0x5c]
push dword [eax]
lea eax, [ebp - 0x164]
push eax
call fcn.10040fbb
push dword [ebp - 0x5c]
call fcn.10049237
pop ecx
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 0xe
call fcn.10040f1f
lea eax, [ebp - 0x46]
mov byte [ebp - 0x46], bl
push eax
call fcn.1003f8cb
pop ecx
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 7
call fcn.10001e25
mov dword [ebp - 0x38], 5
mov dword [ebp - 0x50], 0xc70c3099
mov dword [ebp - 0x110], 0xbc657e3b
mov dword [ebp - 0x50], 0xf949
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x38], eax
jg 0x1003d0f2
push 0x19f7
push 0x7f68
push 0x7a20
push 1
push ebx
push 0x1f09
push ebx
push 0x4069
mov edx, 0x6375
mov ecx, 0x387b
call fcn.1003d8b5
add esp, 0x20
jmp 0x1003d144
mov dword [ebp - 0x18], ebx
jmp 0x1003d108
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1cc], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003d0f7
mov dword [ebp - 0x38], 0xfffffff1
jmp 0x1003d13e
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1c8], eax
lea eax, [ebp - 0x3d]
push eax
push 1
push 0x5ee6
mov byte [ebp - 0x3d], bl
push 0x7e17
call fcn.1003bcda
add esp, 0x10
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x2a
je 0x1003d117
push 0x55b8
push 1
lea eax, [ebp - 0x50]
mov edx, 0x42fc
push eax
push 0x37f1
push 0x5a56
push 0x4ee9
push ebx
push 0x4eaa
push 0x7455
push 0x36b0
push ebx
push 0x551d
lea eax, [ebp - 0x38]
push eax
push 0x531c
lea ecx, [ebp - 0x110]
call fcn.1003f10a
add esp, 0x38
mov dword [ebp - 0x80], 0x2a039e02
mov dword [ebp - 0x7c], 0x2a032d01
mov ecx, ebx
mov dword [ebp - 0x78], 0x4005f63
push 0xa
pop eax
push 2
mov word [ebp - 0xe0], ax
pop esi
cmp esi, 6
jne 0x1003d1c1
push 4
pop ecx
push 8
pop esi
jmp 0x1003d1f3
movzx edx, byte [ebp + esi - 0x7f]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x82]
movzx ecx, word [ebp + eax*2 - 0xe4]
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 - 0xe4], cx
mov ecx, ebx
add esi, 2
cmp esi, 0xc
jb 0x1003d1b4
xor eax, eax
lea ecx, [ebp - 0x1b0]
push 3
mov word [ebp - 0xdc], ax
call fcn.10001dc8
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x124], 0xffffffff
push 4
call fcn.10001dc8
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0xfc]
mov dword [ebp - 0xf4], 0xfffffffe
lea edx, [ebp - 0x1b0]
push ecx
mov dword [ebp - 0x104], 0x451f1e28
push eax
mov dword [ebp - 0x10c], 0xc31e13ca
mov dword [ebp - 0x114], 1
mov dword [ebp - 0x130], 0x2b4cf22a
push ecx
call fcn.1003f467
add esp, 0xc
lea eax, [ebp - 0x18c]
mov edx, 0x57f3
push 1
push eax
push 0x3f47
push ecx
push 0xb7c
lea ecx, [ebp - 0xfc]
call fcn.1003bb1d
add esp, 0x14
mov byte [ebp - 0x3f], bl
lea eax, [ebp - 0x3f]
mov edx, 0x20e8
push 0x7bd0
push ecx
push ecx
push 1
push eax
mov ecx, 0x386
call fcn.1003e30a
add esp, 0x14
lea eax, [ebp - 0x124]
push eax
push ecx
lea eax, [ebp - 0x1b0]
push eax
push 1
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0xf4]
push eax
push ecx
lea eax, [ebp - 0x10c]
push eax
push ecx
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x114]
call fcn.1003eeae
add esp, 0x2c
lea ecx, [ebp - 0x18c]
call fcn.10001e25
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 4], 7
call fcn.10001e25
xor eax, eax
mov dword [ebp - 0x1d0], 7
mov word [ebp - 0x1e4], ax
lea ecx, [ebp - 0x1e4]
lea eax, [ebp - 0xe4]
mov dword [ebp - 0x1d4], ebx
push eax
call fcn.100072f5
push 0x18
pop eax
mov byte [ebp - 4], al
mov dword [ebp - 0x14], 0x30f94f37
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x24], 0x6369dda3
mov dword [ebp - 0x18], ebx
jmp 0x1003d378
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa0], 0xec2e0cf5
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1003d367
mov dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], ebx
jl 0x1003d67e
push dword [ebp - 0x164]
movdqa xmm0, xmmword [0x100702a0]
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x23c]
mov dword [ebp - 0xf0], ebx
push eax
push ebx
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0xec], ebx
movdqu xmmword [ebp - 0x23c], xmm0
mov dword [ebp - 0xe8], ebx
call fcn.10007dd5
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0xa0], ebx
je 0x1003d480
mov dword [ebp - 0x1c], 8
xor ecx, ecx
mov dword [ebp - 0x30], 0x6c715341
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0xa0]
cmp eax, 0xfffffffa
setle cl
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], ebx
je 0x1003d416
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0xa0]
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov eax, dword [ebp - 0x9c]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setl dl
sub eax, edx
neg eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
cmp dword [ebp - 0x14], eax
jg 0x1003d446
cmp dword [ebp - 0x14], ebx
jne 0x1003d446
mov eax, ebx
jmp 0x1003d449
xor eax, eax
inc eax
xor edx, edx
cmp eax, 0xffff
mov eax, dword [ebp - 0x14]
sete dl
xor ecx, ecx
cmp edx, eax
push 7
setge cl
pop eax
cmp eax, ecx
mov eax, dword [ebp - 0x9c]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setne cl
imul eax, ecx, 0xb4c2
mov dword [ebp - 0x30], eax
jmp 0x1003d654
mov dword [ebp - 0x20], 0x1265
cmp dword [ebp - 0x20], 0x1479
jle 0x1003d516
mov dword [ebp - 0x1c], ebx
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov esi, ebx
mov edi, ebx
mov eax, esi
cdq
idiv edi
mov eax, ecx
mov ecx, edx
shl eax, cl
lea ecx, [ebp - 0x2ac]
or eax, dword [ebp - 0x1c]
cdq
push edx
push eax
call fcn.10001a31
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003d4c6
mov eax, dword [eax]
push eax
call fcn.100490c6
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x2ac]
call fcn.1000209f
mov ecx, dword [ebp - 0x18]
inc edi
cmp edi, 0x5d18
jl 0x1003d4a0
inc esi
cmp esi, 0x6e9e
jl 0x1003d49e
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x17d9
jl 0x1003d49c
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x46eb
jl 0x1003d497
push 0xac3
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
cmp dword [ebp - 0x20], 0xec1
jge 0x1003d52a
push str.vhbeqbsti_slbkrjm_fdb_feiinte_rcpuqwr_xgjvxoil_psfns_xnyilx_pww_dzmdhq_julhf_opk
call fcn.100490c6
pop ecx
push 3
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 4], 0x19
call fcn.10001dc8
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x18], ebx
jmp 0x1003d554
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xac], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1003d547
mov dword [ebp - 0x18], ebx
jmp 0x1003d572
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1a4]
mov dword [eax + ecx*4], 0x922cbd4d
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1003d55f
push 0x854
push 0x3058
push ebx
push 0x6ff4
push 1
lea eax, [ebp - 0x2c]
mov edx, 0x6488
push 0xb27
push eax
mov cl, 1
call fcn.1003defc
add esp, 0x1c
mov dword [ebp - 0x2c], ebx
cmp dword [ebp - 0x2c], 2
jg 0x1003d649
mov esi, dword [ebp - 0x1a4]
mov edi, dword [ebp - 0xf0]
mov dword [ebp - 0x18], ebx
jmp 0x1003d5d1
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x174], 6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1003d5c0
mov eax, dword [ebp - 0xac]
xor ecx, ecx
mov eax, dword [ebp - 0xac]
mov eax, dword [ebp - 0x174]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0xa0]
mov dword [ebp - 0x24], 0xe0f61949
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0xa0]
cmp eax, 0xcc19
setle cl
cmp ecx, dword [ebp - 0x24]
jl 0x1003d61f
cmp dword [ebp - 0x170], ebx
jne 0x1003d61f
mov eax, ebx
jmp 0x1003d622
xor eax, eax
inc eax
mov dword [esi + 4], eax
xor edx, edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0xa0]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
setl dl
mov dword [edi + 0xc], edx
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 2
jle 0x1003d5bb
lea ecx, [ebp - 0x1a4]
call fcn.10001e25
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0xf0]
push 0x18
cmp dword [ebp + eax*4 - 0xa0], ebx
pop eax
mov byte [ebp - 4], al
jne 0x1003d679
call fcn.10001e25
dec dword [ebp - 0x14]
jmp 0x1003d385
call fcn.10001e25
cmp dword [ebp - 0x9c], ebx
je 0x1003d6b7
cmp dword [ebp - 0x2c], ebx
jne 0x1003d6a8
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, 0xdb1
jne 0x1003d6a8
mov eax, ebx
jmp 0x1003d6ab
xor eax, eax
inc eax
imul eax, eax, 3
test eax, eax
je 0x1003d6b7
xor edx, edx
inc edx
jmp 0x1003d6b9
mov edx, ebx
mov eax, dword [ebp - 0x24]
lea edi, [ebp - 0xe4]
xor ecx, ecx
mov dword [ebp - 0x54], ebx
cmp edx, eax
push 0x18
setne cl
xor eax, eax
stosd dword es:[edi], eax
mov dword [ebp - 0x24], ecx
pop ecx
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [ebp - 0x15c]
sub eax, dword [ebp - 0x160]
cdq
idiv ecx
mov esi, eax
test esi, esi
je 0x1003d748
push 0x7584
push 1
push 0x2ffe
push 0x4c43
push 0x5963
push 0x5238
push ebx
push 0x1a5d
lea eax, [ebp - 0x160]
mov ecx, 0x5589
push eax
lea eax, [ebp - 0x1e4]
push eax
push 1
push 0x7048
push 0x5793
push 0x228a
lea edx, [ebp - 0x54]
call fcn.1003f10a
mov eax, dword [ebp - 0x54]
add esp, 0x38
inc eax
mov dword [ebp - 0x54], eax
cmp eax, esi
jb 0x1003d6ed
mov ecx, dword [ebp - 0x138]
lea eax, [ebp - 0x160]
push eax
call fcn.100409dd
push ebx
push 1
lea ecx, [ebp - 0x1e4]
call fcn.1000737d
lea ecx, [ebp - 0x160]
call fcn.10040ee7
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret