Function at 0x1000c60f
Capabilities:
Delete file

Disassembly:
mov eax, 0x1005b294
call fcn.1005a790
sub esp, 0x158
cmp byte [ebp + 8], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
je 0x1000c63a
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
jmp 0x1000d39d
mov eax, dword [ebp + 0x1c]
xor ebx, ebx
mov esi, dword [ebp + 0x20]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x5c], eax
mov eax, 0x4a7d2ae8
mov dword [ebp - 0x20], 0x1c1ec2db
mov dword [ebp - 0x14], 0xcd50997
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x2c], 0xfffffff6
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x1c], ebx
jmp 0x1000c696
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xbc], 0xa049fe38
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1000c685
push 5
mov dword [ebp - 0x20], ebx
or edi, 0xffffffff
pop esi
cmp dword [ebp - 0x20], 3
jg 0x1000c830
mov dword [ebp - 0x30], 0x870a3267
mov dword [ebp - 0x28], 0x35d56974
mov dword [ebp - 0x18], 0x572f
cmp dword [ebp - 0x18], 0x59d3
jle 0x1000c751
mov edx, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x28], ebx
lea ecx, [eax + esi]
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0x164]
and eax, edx
cdq
push edx
push eax
call fcn.10001aa4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000c700
mov eax, dword [eax]
push eax
call fcn.10043cef
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x164]
call fcn.10003c79
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, 0x778e
jl 0x1000c6df
inc esi
cmp esi, 0x1d51
jl 0x1000c6da
inc edi
cmp edi, 0x6a97
jl 0x1000c6d8
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, 0x4271
jl 0x1000c6d6
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 5
or edi, 0xffffffff
pop esi
mov dword [ebp - 0x1c], ebx
jmp 0x1000c767
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x120], 0xfffffff7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1000c756
cmp dword [ebp - 0x18], 0x539c
jge 0x1000c781
push str.bgtjspar_vcui_stxcmnbuc_xmgdn_snwnrysvr_wsr_xnwj
call fcn.10043cef
pop ecx
mov dword [ebp - 4], edi
mov dword [ebp - 0x14], 3
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], ebx
jl 0x1000c828
mov dword [ebp - 0x1c], 0xbf90350d
xor ebx, ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xbc]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb8]
cmp ecx, eax
mov eax, dword [ebp - 0x30]
setne bl
xor edx, edx
cmp ebx, eax
mov eax, dword [ebp - 0x30]
setle dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x20]
setg cl
cmp esi, ecx
mov eax, dword [ebp + eax*4 - 0xbc]
sbb ecx, ecx
xor ebx, ebx
inc ecx
sub ecx, eax
mov dword [ebp - 0x11c], ecx
mov eax, dword [ebp - 0xb4]
sub ecx, eax
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 2
cmp dword [ebp - 0x1c], ebx
jl 0x1000c81f
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], bl
je 0x1000c81a
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegLoadKeyW]
dec dword [ebp - 0x1c]
jns 0x1000c809
dec dword [ebp - 0x14]
jns 0x1000c79b
inc dword [ebp - 0x20]
jmp 0x1000c6a5
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xe8]
dec dword [ebp - 0xe8]
test eax, eax
jg 0x1000c866
xor eax, eax
inc eax
jmp 0x1000c868
mov eax, ebx
push 0xfffffffffffffffe
pop ecx
cmp ecx, eax
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov dword [ebp - 0xcc], 7
setge dl
mov dword [ebp - 0xd0], ebx
xor eax, eax
cmp edx, 1
setge al
mov dword [ebp - 0x14], eax
xor eax, eax
mov word [ebp - 0xe0], ax
push 2
pop ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x28], 0x41b6ba00
mov dword [ebp - 0x14], 0x2ce3
mov dword [ebp - 0x18], 0xfffffff7
mov dword [ebp - 0x1c], ebx
jmp 0x1000c8dc
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x40], 0xfffffffb
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1000c8ce
mov ecx, dword [ebp - 0x20]
sub ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x3c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
add ecx, dword [ebp - 0x3c]
neg ecx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp ecx, eax
sbb eax, eax
inc eax
cmp eax, 0xe6b6
je 0x1000c925
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
xor edx, edx
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
setle dl
cmp edx, 0xcaa8e55a
jne 0x1000c944
call fcn.1000b891
jmp 0x1000ca05
mov dword [ebp - 0x30], 0xfffffff8
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x1c], ebx
jmp 0x1000c961
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x64], 0xfa1a8f1e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1000c953
mov eax, dword [ebp - 0x28]
sub eax, 0xfb96f37d
neg eax
sbb eax, eax
inc eax
cmp eax, 0xf1bd
jl 0x1000c983
cmp dword [ebp - 0x30], ebx
je 0x1000c983
xor ebx, ebx
inc ebx
mov ecx, dword [ebp - 0x3c]
xor edx, edx
mov dword [ebp - 0x60], ecx
mov eax, dword [ebp - 0x30]
cmp eax, 0x4ed3
setg dl
sub edx, ecx
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, ebx
mov edx, 0x6fda4f2a
setge al
xor ecx, ecx
cmp eax, 0x44381826
setne cl
imul ecx, dword [ebp - 0x20]
sub ecx, 0x55a
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x60]
cmp eax, 1
mov eax, dword [ebp - 0x14]
setge cl
sub edx, ecx
sub edx, eax
xor eax, eax
add edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x60]
cmp edx, 6
setge al
xor ebx, ebx
cmp eax, 0xfffffff9
mov eax, dword [ebp - 0x3c]
setge bl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp edx, ebx
setne cl
imul eax, ecx
dec eax
xor ebx, ebx
mov dword [ebp - 0x60], eax
xor edx, edx
mov dword [ebp - 0x14], ebx
inc edx
jmp 0x1000ca8b
mov dword [ebp - 0x2c], 0x546d79c1
mov dword [ebp - 0x30], 0xfd7f9b64
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x40], ebx
je 0x1000ca6d
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x40]
mov ecx, dword [ebp - 0x28]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x40]
cmp eax, dword [ebp - 0x3c]
jle 0x1000ca66
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x40]
mov eax, dword [ebp - 0x14]
imul ecx, dword [ebp + eax*4 - 0x40]
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x114], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x1000ca0d
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x50]
ja 0x1000cbbb
push 0xfffffffffffffffe
pop esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x14], 3
mov dword [ebp - 0x18], 0xfffffffb
mov dword [ebp - 0x20], 0xfffffff9
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], 0x360de574
mov dword [ebp - 0x2c], 0xd4f6c553
mov dword [ebp - 0x1c], ebx
jmp 0x1000cadf
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x70], 0x3c7d24b5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x1000cad1
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x18], eax
jle 0x1000cafe
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp eax, esi
setge cl
sub ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0x3d4752e4
setne cl
add ecx, dword [ebp - 0x28]
je 0x1000cb5d
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x1c], ebx
je 0x1000cb3a
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setne cl
cmp ecx, dword [ebp - 0x18]
jge 0x1000cb5a
mov edx, ebx
jmp 0x1000cb5d
xor edx, edx
inc edx
xor eax, eax
mov esi, dword [ebp + 0x20]
cmp edx, 0xfffffff9
mov ecx, 0xd58945cb
setl al
sub eax, dword [ebp - 0x20]
cmp ecx, eax
sbb eax, eax
xor edx, edx
neg eax
cmp eax, edi
setle dl
xor ecx, ecx
imul edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x70]
cmp edx, eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
setle cl
add edx, ecx
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0xe0]
cmp esi, eax
je 0x1000d38f
push edi
push ebx
push eax
mov ecx, esi
jmp 0x1000d38a
mov dword [ebp - 0x54], 0x4f01
mov eax, 0xfffd
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x2c], 0xffff
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x20], 0xa3d88101
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x18], ebx
jmp 0x1000cc06
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x4c], 0x3fa75c19
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1000cbf8
inc dword [ebp - 0x48]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [ebp - 0x48]
setne cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x98]
setne dl
sub edx, eax
cmp edx, 0x7030
je 0x1000ce01
mov dword [ebp - 0x1c], 0xfffffffd
mov dword [ebp - 0x18], ebx
jmp 0x1000cc5e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc4], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1000cc4d
cmp dword [ebp - 0x1c], ebx
je 0x1000ccdf
mov dword [ebp - 0x30], 0x3876
mov dword [ebp - 0x28], edi
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1000cc81
call fcn.1000c2eb
mov dword [ebp - 0x14], 1
cmp dword [ebp - 0x14], ebx
jl 0x1000ce80
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x94], ebx
jne 0x1000cca0
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov ecx, dword [ebp + eax*4 - 0x94]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
setl dl
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp + eax*4 - 0x9c], 0xa9c
sub eax, 0xb26d8f9c
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x20], eax
dec dword [ebp - 0x14]
jns 0x1000cc91
jmp 0x1000ce80
mov dword [ebp - 0x1c], 0x1c
cmp dword [ebp - 0x1c], 0x16
jle 0x1000ce80
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 1
jg 0x1000cdf9
mov dword [ebp - 0x2c], 0x5e73
cmp dword [ebp - 0x2c], 0x5ea2
jle 0x1000cd69
mov edx, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x28], 0x48be
mov dword [ebp - 0x30], ecx
mov eax, edi
shl eax, cl
mov ecx, 0x10073e78
or eax, edx
cdq
push edx
push eax
call fcn.1000383a
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x18]
add ecx, esi
dec dword [ebp - 0x28]
mov dword [ebp - 0x30], ecx
jne 0x1000cd22
inc esi
cmp esi, 0x74e7
jl 0x1000cd16
inc edi
cmp edi, 0x71de
jl 0x1000cd14
inc edx
mov dword [ebp - 0x18], edx
cmp edx, 0x5af7
jl 0x1000cd12
push 5
or edi, 0xffffffff
pop esi
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], ebx
xor ebx, ebx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x4c]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setl bl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x4c]
cmp ebx, eax
mov eax, dword [ebp - 0x14]
setg dl
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0xc4], ecx
mov byte [ebp - 4], 3
cmp dword [ebp - 0x2c], 0x5c60
jge 0x1000cdbe
mov edx, str.nulifpk_xrihjl_oazrrwhlr_escyr_tomv_pwvfjppy
mov ecx, 0x10073e78
call fcn.100059c3
xor ebx, ebx
mov dword [ebp - 4], 2
inc dword [ebp - 0x20]
jmp 0x1000ccf3
dec dword [ebp - 0x1c]
jmp 0x1000cce6
mov dword [ebp - 0x18], 0xd226f84b
lea edx, [ebp - 0x42]
mov byte [ebp - 0x42], bl
call fcn.1000b83f
mov dword [ebp - 0x14], ebx
jmp 0x1000ce7a
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x4c], ebx
jne 0x1000ce2b
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x98]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x90]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4c], ecx
mov dword [ebp - 0x30], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jle 0x1000ce18
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0xe0]
push eax
lea edx, [ebp - 0x50]
call fcn.1000eec4
pop ecx
mov dword [ebp - 0x34], 1
pop ecx
mov dword [ebp - 0x14], ebx
jmp 0x1000ceb2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xa8], 2
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1000cea1
mov dword [ebp - 0x14], ebx
jmp 0x1000cecb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c], 0xfffffff7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x1000cebd
mov dword [ebp - 0x34], 2
cmp dword [ebp - 0x34], ebx
jl 0x1000d158
mov dword [ebp - 0x2c], 0x329b3a00
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x54], 0xd54b
mov dword [ebp - 0x18], ebx
jmp 0x1000cf04
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x14c], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1000cef7
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x34]
cmp dword [ebp + eax*4 - 0xa8], ebx
jne 0x1000cf26
mov eax, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
cmp edi, ecx
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp + eax*4 - 0xa8]
sbb eax, eax
neg eax
cmp eax, edx
jl 0x1000d13f
mov dword [ebp - 0x38], 0x1c78
cmp dword [ebp - 0x38], 0xaf4
jge 0x1000d0a5
lea eax, [ebp - 0x58]
push eax
push 0x10062998
call fcn.10043abb
mov eax, dword [ebp - 0x58]
pop ecx
pop ecx
test eax, eax
je 0x1000d0a1
mov dword [ebp - 0xc0], ebx
dec eax
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x78]
push eax
push str._ld__ld
call fcn.10043abb
add esp, 0xc
mov dword [ebp - 0x88], ebx
lea eax, [ebp - 0xc0]
mov dword [ebp - 0x84], ebx
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x80], ebx
push eax
push 3
call fcn.1000b3bf
mov eax, dword [ebp - 0x84]
mov esi, dword [ebp - 0x88]
sub eax, esi
sar eax, 2
cmp eax, 3
jbe 0x1000cffa
lea eax, [esi + 0xc]
cmp eax, esi
je 0x1000cffa
cmp eax, dword [ebp - 0x84]
je 0x1000cffa
push ebx
push dword [ebp - 0x84]
push eax
call fcn.100433b0
add esp, 0xc
and dword [esi + 8], 0x1fffffff
mov edi, ebx
mov byte [ebp - 4], 2
cmp dword [ebp - 0x78], 0
jle 0x1000d03c
lea eax, [ebp - 0xc8]
push eax
push 0x10062998
call fcn.10043abb
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc8]
xor eax, eax
mov edx, ecx
inc eax
shr edx, 5
and ecx, 0x1f
shl eax, cl
or dword [esi + edx*4], eax
inc edi
cmp edi, dword [ebp - 0x78]
jl 0x1000d00d
xor edi, edi
mov dword [ebp - 0x38], ebx
inc edi
xor eax, eax
mov edx, edi
mov ecx, edi
shr edx, 5
and ecx, 0x1f
inc eax
shl eax, cl
test dword [esi + edx*4], eax
jne 0x1000d061
mov eax, dword [ebp - 0x68]
test eax, eax
jle 0x1000d0b7
dec eax
mov dword [ebp - 0x68], eax
inc edi
cmp edi, 0x5d
jl 0x1000d042
mov eax, dword [ebp - 0x38]
push eax
push str._ld_n
call fcn.10043cef
push esi
mov dword [ebp - 0x7c], ebx
call fcn.10043e57
mov eax, dword [ebp - 0x58]
add esp, 0xc
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
test eax, eax
jne 0x1000cf89
push 5
or edi, 0xffffffff
pop esi
dec eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x2c], esi
push 3
mov dword [ebp - 0x18], 0xfffffff8
mov dword [ebp - 0x14], ebx
pop ecx
jmp 0x1000d0cd
lea eax, [edi - 1]
jmp 0x1000d06a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x134], 0xf803
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1000d0bc
mov dword [ebp - 0x14], ebx
jmp 0x1000d0e8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x140], 0x584502e4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1000d0d7
mov dword [ebp - 0x2c], ebx
xor edx, edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
setne dl
add edx, 0xe165
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x18], ebx
jmp 0x1000d137
lea eax, [ebp - 0xac]
mov dword [ebp - 0xac], 1
push 0x168a
push eax
mov ecx, 0x17aa
call fcn.1000d9b0
inc dword [ebp - 0x18]
pop ecx
pop ecx
cmp dword [ebp - 0x18], 2
jle 0x1000d112
jmp 0x1000d14f
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1000d14f
xor cl, cl
call fcn.1000e6f9
dec dword [ebp - 0x34]
jns 0x1000cee1
push ebx
push 1
mov dl, 1
lea ecx, [ebp - 0x34]
call fcn.1000e5e0
mov eax, dword [ebp - 0x50]
pop ecx
pop ecx
cmp eax, dword [ebp - 0x5c]
jae 0x1000d293
mov dword [ebp - 0x1c], 0x477862f
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x54], 0x1151c3c3
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x2c], 0x9cdf
mov dword [ebp - 0x14], 0xb27067d5
mov dword [ebp - 0x18], ebx
jmp 0x1000d1b2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x104], 7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1000d1a1
mov dword [ebp - 0x1c], ebx
jmp 0x1000d25e
mov dword [ebp - 0x30], 0xebfb
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x38], 0xfffffffd
mov dword [ebp - 0x18], ebx
jmp 0x1000d1e7
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x74], 0x7fa5c62e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x1000d1d9
push ecx
lea edx, [ebp - 0x8c]
call fcn.1000ef50
mov eax, dword [ebp - 0x20]
pop ecx
xor ecx, ecx
cmp eax, 0xfffffffc
setge cl
mov dword [ebp - 0x28], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x100]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x74]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x8c]
cmp eax, esi
setl cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
cmp eax, 1
mov eax, dword [ebp - 0x54]
setg dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x20], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 6
jge 0x1000d1c0
mov esi, dword [ebp - 0x50]
mov ecx, esi
add esi, 2
mov dword [ebp - 0x50], esi
call fcn.1000b680
movzx eax, ax
lea ecx, [ebp - 0xe0]
push eax
call fcn.1001322b
cmp esi, dword [ebp - 0x5c]
push 5
pop esi
jb 0x1000d173
mov dword [ebp - 0x14], 0x17571177
mov dword [ebp - 0x18], ebx
jmp 0x1000d2b0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x128], 0xffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x1000d29f
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 0xe
jge 0x1000d378
xor ecx, ecx
inc ecx
mov dword [ebp - 0x20], 0xe1e2c0d3
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
jl 0x1000d378
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
jmp 0x1000d2f2
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xfc], 0xfffffff9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1000d2e1
mov dword [ebp - 0xfc], ecx
cmp dword [ebp - 0xfc], ebx
jl 0x1000d321
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x1000d319
push ecx
call fcn.1000d400
pop ecx
xor ecx, ecx
inc ecx
dec dword [ebp - 0xfc]
jns 0x1000d306
mov dword [ebp - 0x1c], ebx
jmp 0x1000d358
mov dword [ebp - 0x18], 0xf6802998
mov dword [ebp - 0x18], ebx
jmp 0x1000d350
lea eax, [ebp - 0x41]
mov byte [ebp - 0x41], bl
push eax
push 0x6ff6
mov ecx, 0x20a7
call fcn.1000d3e8
inc dword [ebp - 0x18]
pop ecx
pop ecx
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x18], ecx
jle 0x1000d332
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jle 0x1000d326
dec dword [ebp - 0x20]
jns 0x1000d2d9
cmp dword [ebp - 0x20], ebx
jne 0x1000d378
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xe
jl 0x1000d2c6
mov eax, dword [ebp + 0x20]
lea ecx, [ebp - 0xe0]
cmp eax, ecx
je 0x1000d38f
push edi
push ebx
push ecx
mov ecx, eax
call fcn.10003cbd
push ebx
push 1
lea ecx, [ebp - 0xe0]
call fcn.10004184
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret