Function at 0x1001e8c2
Capabilities:
Get common file path
Get geographical location

Disassembly:
mov eax, 0x10079d4d
call fcn.100791b0
sub esp, 0x144
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, ecx
push 4
pop edi
mov esi, 0x1008089c
mov byte [ebp - 0x34], dl
push 2
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x40], edi
call fcn.1001af80
mov dword [ebp - 0x20], 0x2071b18d
xor ebx, ebx
push 2
mov dword [ebp - 0x24], 0xd4e7937
mov dword [ebp - 0x20], ebx
pop edx
jmp 0x1001e929
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xd4]
mov dword [eax + ecx*4], 3
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001e916
mov dword [ebp - 0x20], ebx
jmp 0x1001e946
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xd4]
mov dword [eax + ecx*4], 0xffff
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001e933
lea ecx, [ebp - 0xd4]
call fcn.1001b002
mov edi, dword [0x1008089c]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0x28], 0xfffffff9
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x44], edi
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
cmp dword [ebp - 0x20], ebx
jl 0x1001e9cd
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], bl
je 0x1001e9bb
push ebx
push 0x210d
push 0x1d92
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x28], 8
dec dword [ebp - 0x20]
jns 0x1001e9a2
cmp byte [ebp - 0x34], bl
je 0x1001ebb1
xor eax, eax
inc eax
cmp edi, eax
jne 0x1001ebb1
push eax
lea ecx, [ebp - 0x68]
call fcn.1001af80
mov dword [ebp - 4], ebx
xor edx, edx
mov dword [ebp - 0x28], 0x31b3b333
inc edx
mov dword [ebp - 0x24], 0xfffffffd
mov dword [ebp - 0x20], ebx
jmp 0x1001ea13
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x68]
mov dword [eax + ecx*4], 0x3ae35568
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jl 0x1001ea03
mov eax, dword [ebp - 0x68]
mov dword [eax], 0xe
push dword [ebp + 8]
movdqa xmm0, xmmword [0x1000cf70]
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x13c]
mov dword [ebp - 0x80], ebx
push eax
push ebx
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x7c], ebx
movdqu xmmword [ebp - 0x13c], xmm0
mov dword [ebp - 0x78], ebx
call fcn.1001e02f
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x14], 0xfffffffb
push 2
call fcn.1001af80
mov byte [ebp - 4], 2
mov dword [ebp - 0x20], 0x3e997306
mov dword [ebp - 0x20], ebx
jmp 0x1001ea8f
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x108]
mov dword [eax + ecx*4], 0xe2fe8172
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 2
jl 0x1001ea7c
mov dword [ebp - 0x14], 3
cmp dword [ebp - 0x14], ebx
jl 0x1001eaff
push 3
lea ecx, [ebp - 0xa4]
call fcn.1001af80
mov dword [ebp - 0x20], ebx
jmp 0x1001eac6
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xa4]
mov dword [eax + ecx*4], 0x213072c0
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x1001eab3
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0xa4]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa4]
mov dword [eax + 8], 0xfffffffc
mov dword [ebp - 0x20], 1
call fcn.1001b002
dec dword [ebp - 0x14]
jns 0x1001eaa1
mov dword [ebp - 0x20], ebx
jmp 0x1001eb6e
mov dword [ebp - 0x14], ebx
jmp 0x1001eb30
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001eb18
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001eb2d
push ebx
push 0x284
call dword [sym.imp.USER32.dll_ShowOwnedPopups]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x1001eb09
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x80]
cmp dword [eax + ecx*4], ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
setne dl
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
xor eax, eax
cmp edx, ecx
sete al
cmp eax, 0x83ac
je 0x1001eb66
test ecx, ecx
je 0x1001eb66
xor eax, eax
inc eax
jmp 0x1001eb68
mov eax, ebx
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jle 0x1001eb04
lea ecx, [ebp - 0x108]
call fcn.1001b002
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], bl
call fcn.1001b002
mov eax, dword [ebp - 0x68]
dec dword [eax]
cmp dword [eax], 0xffffffe3
jg 0x1001ea21
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x68]
call fcn.1001b002
mov eax, dword [ebp + 8]
mov dword [eax + 8], 4
mov dword [eax + 0xc], esi
push dword [ebp + 8]
movdqa xmm0, xmmword [0x1000cf60]
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x14], 0xfffffff9
push eax
mov dword [ebp - 0x20], 0xddc8
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x28], 0x435e45db
push ebx
movdqu xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x90], ebx
call fcn.1001e02f
xor ecx, ecx
mov dword [ebp - 4], 3
mov dword [ebp - 0x14], ebx
inc ecx
jmp 0x1001ec1e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x30], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1001ec14
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], ebx
jl 0x1001ef1e
push 4
lea ecx, [ebp - 0x114]
call fcn.1001af80
mov byte [ebp - 4], 4
mov dword [ebp - 0x24], 0x86e0daee
mov dword [ebp - 0x1c], ebx
jmp 0x1001ec5f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x114]
mov dword [eax + ecx*4], 0x942c3b03
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1001ec4c
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x30], ebx
je 0x1001ec7b
cmp dword [ebp - 0x14], 0xfffffffb
jg 0x1001ec7b
xor edx, edx
inc edx
mov edi, edx
jmp 0x1001ec80
xor edx, edx
mov edi, ebx
inc edx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edi, eax
sete cl
xor eax, eax
cmp ecx, 0x405c
setl al
xor ecx, ecx
add eax, dword [ebp - 0x14]
cmp eax, 0xd2d9
mov eax, dword [ebp - 0x14]
setle cl
cmp ecx, dword [ebp + eax*4 - 0x30]
jge 0x1001ecb6
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x30], ebx
mov eax, edx
jne 0x1001ecb8
mov eax, ebx
imul eax, eax, 0x5ebd
test eax, eax
je 0x1001eccb
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x30], ebx
jne 0x1001eccd
mov edx, ebx
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x30], edx
jg 0x1001ecd9
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x30]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x30]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setge dl
sub edx, eax
je 0x1001edbf
cmp dword [ebp - 0x20], ebx
je 0x1001edbf
xor ecx, ecx
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x1c], ebx
inc ecx
jmp 0x1001ed2e
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x6c], 0x325cf162
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x1001ed20
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001ed4a
push 0x7aa
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov dword [ebp - 0x20], 0xffffffe4
jmp 0x1001edb4
push 3
lea ecx, [ebp - 0xb0]
call fcn.1001af80
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x1c], ebx
jmp 0x1001ed7f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb0]
mov dword [eax + ecx*4], 0xb8e00457
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1001ed6c
mov eax, dword [ebp - 0x6c]
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
sub eax, 0xba684a08
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xb0]
mov dword [eax], ecx
lea ecx, [ebp - 0xb0]
call fcn.1001b002
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xf
jg 0x1001ed53
jmp 0x1001eef2
mov dword [ebp - 0x48], 0xffffffff
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x2c], 0x212aeaf
push 2
call fcn.1001af80
mov byte [ebp - 4], 5
mov dword [ebp - 0x1c], 0x6df3f18
mov dword [ebp - 0x1c], 0x4be0
cmp dword [ebp - 0x1c], 0x4c8b
jle 0x1001ee2a
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
mov edi, ebx
mov esi, ebx
mov eax, edi
mov ecx, 0x10622758
cdq
idiv esi
mov eax, edx
cdq
push edx
push eax
call fcn.1001ac77
inc esi
cmp esi, 0x69b3
jl 0x1001ee01
inc edi
cmp edi, 0x5126
jl 0x1001edff
mov esi, dword [ebp - 0x4c]
mov byte [ebp - 4], 6
cmp dword [ebp - 0x1c], 0x4a35
jge 0x1001ee6d
mov edx, 0x1000b5c4
mov ecx, 0x10622758
call fcn.1001d971
jmp 0x1001ee6d
xor edx, edx
mov dword [ebp - 4], 5
inc edx
mov dword [ebp - 0x1c], ebx
jmp 0x1001ee8f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xbc]
mov dword [eax + ecx*4], 0xee1e161e
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1001ee7c
mov eax, dword [ebp - 0x48]
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
cmp eax, edx
mov eax, dword [ebp - 0xbc]
setge cl
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x30], 0xffff
mov ecx, dword [ebp - 0x20]
sbb eax, eax
neg eax
sub ecx, eax
mov eax, dword [ebp - 0x2c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
imul ecx, ecx, 0x5120
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0xbc]
call fcn.1001b002
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x114]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 3
call fcn.1001b002
dec dword [ebp - 0x14]
jmp 0x1001ec26
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x98]
call fcn.1001b002
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x44]
jge 0x1001f4ae
mov edi, dword [ebp - 0x40]
add esi, edi
test eax, eax
jle 0x1001f24a
mov dword [ebp - 0x20], 0x16b471df
lea ecx, [ebp - 0xc8]
push 4
call fcn.1001af80
mov dword [ebp - 0x14], 0xa3191b49
mov dword [ebp - 0x2c], 0xfffffffa
mov dword [ebp - 0x28], 0x668451f1
mov dword [ebp - 0x24], 0xed7c3b7c
mov dword [ebp - 0x1c], ebx
jmp 0x1001ef8e
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc8]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1001ef7b
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001efb4
push 0x20a8
push 0x9f3
push ebx
push 0xd46
push ebx
call dword [sym.imp.USER32.dll_GetMenuStringW]
cmp dword [ebp - 0x20], ebx
je 0x1001efc8
mov eax, dword [ebp - 0x2c]
inc dword [ebp - 0x2c]
test eax, eax
je 0x1001efc8
xor ecx, ecx
inc ecx
jmp 0x1001efca
mov ecx, ebx
mov eax, dword [ebp - 0xc8]
push 5
pop edx
mov dword [eax + 4], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
cmp eax, 0x5e790e86
mov eax, dword [ebp - 0x20]
setl cl
cmp edx, eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0xc8]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
call fcn.1001b002
mov eax, dword [esi]
lea ecx, [ebp - 0x120]
push 2
mov dword [ebp - 0x48], eax
add esi, edi
call fcn.1001af80
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x24], 8
push 2
call fcn.1001af80
mov dword [ebp - 0x24], 1
push 2
mov dword [ebp - 0x24], 0xec0351a9
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x1001f076
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x120]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001f067
mov dword [ebp - 0x14], ebx
jmp 0x1001f093
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x12c]
mov dword [eax + ecx*4], 0xe033c22
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1001f080
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001f0a9
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_Beep]
lea ecx, [ebp - 0x12c]
call fcn.1001b002
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.1001b002
mov edi, dword [esi]
add esi, dword [ebp - 0x40]
mov dword [ebp - 0x1c], 0xb9f9b31
mov dword [ebp - 0x1c], ebx
jmp 0x1001f0e1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xfc], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1001f0d4
mov dword [ebp - 0x1c], 6
cmp dword [ebp - 0x1c], 0xc
jne 0x1001f17a
xor ecx, ecx
inc ecx
mov dword [ebp - 0x2c], 0xceafd94
mov dword [ebp - 0x28], ecx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001f122
push ebx
push 0x148
push 0xd8a
call dword [sym.imp.GDI32.dll_CreatePen]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], ebx
jl 0x1001f171
mov dword [ebp - 0x14], 0x693e93
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x14], ebx
jmp 0x1001f14a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xfc], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1001f13d
mov dword [ebp - 0x14], ebx
jmp 0x1001f167
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jle 0x1001f155
dec dword [ebp - 0x2c]
jns 0x1001f12a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xc
je 0x1001f0fb
test edi, edi
mov edi, dword [ebp - 0x40]
jne 0x1001f184
lea esi, [esi + edi*2]
mov dword [ebp - 0x14], 0xe1757117
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0x28], 0xb4495231
mov dword [ebp - 0x24], 0x93f9beab
mov dword [ebp - 0x14], ebx
jmp 0x1001f234
mov dword [ebp - 0x2c], 0x63a88e00
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1001f1c4
push 0x1d94
push ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov ecx, dword [ebp - 0x2c]
xor edx, edx
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setne dl
sub edx, 3
mov dword [ebp - 0x28], edx
xor edx, edx
mov eax, dword [ebp - 0x2c]
cmp eax, 0x7e71f09a
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
xor edx, edx
cmp ecx, 0xa31e
setg dl
xor ecx, ecx
add edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
cmp eax, edx
mov eax, dword [ebp - 0x14]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x14]
setg cl
mov dword [ebp - 0x24], ecx
xor ecx, ecx
cmp eax, dword [ebp - 0x24]
setge cl
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jg 0x1001f1a8
add esi, dword [ebp - 0x48]
dec dword [ebp - 0x50]
jne 0x1001ef46
mov dword [ebp - 0x28], 0xd1454bcd
mov dword [ebp - 0x14], 0x6f44401d
mov dword [ebp - 0x1c], ebx
jmp 0x1001f26b
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x3c], 0x68ec0ae9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1001f25d
mov dword [ebp - 0x3c], 0xf
jmp 0x1001f2cc
push 3
lea ecx, [ebp - 0x8c]
call fcn.1001af80
mov dword [ebp - 0x24], 0x2d3f
mov dword [ebp - 0x1c], ebx
jmp 0x1001f2a6
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x8c]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x1001f293
lea ecx, [ebp - 0x8c]
mov eax, dword [ebp - 0x8c]
mov dword [eax + 8], 0xb
cmp dword [ebp - 0x3c], ebx
jne 0x1001f2d4
call fcn.1001b002
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0xfffffff0
jge 0x1001f27a
jmp 0x1001f2d9
call fcn.1001b002
xor ecx, ecx
mov dword [ebp - 0x14], ebx
inc ecx
cmp dword [ebp - 0x14], ecx
jg 0x1001f386
mov dword [ebp - 0x24], 0x16e289aa
mov dword [ebp - 0x24], 0x7293cc9d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
mov eax, dword [ebp + eax*4 - 0x3c]
cmp ecx, eax
setle dl
xor ecx, ecx
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x3c]
cmp edx, eax
setge cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x3c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x3c]
sub ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
add ecx, eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp + eax*4 - 0x3c]
mov eax, dword [ebp - 0x14]
imul edx, ecx
mov eax, dword [ebp + eax*4 - 0x3c]
neg edx
sbb edx, edx
neg edx
sub edx, eax
mov dword [ebp - 0x3c], edx
cmp edx, 0x89d6
jle 0x1001f36b
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jle 0x1001f2e8
xor ecx, ecx
xor ebx, ebx
inc ecx
mov edi, dword [esi]
add esi, dword [ebp - 0x40]
mov edx, dword [esi]
add esi, dword [ebp - 0x40]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x48], 0xfffffff7
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0xd8], ecx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
mov dword [ebp - 0x24], edx
je 0x1001f3ce
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_RaiseException]
mov dword [ebp - 0x1c], 0x13
cmp dword [ebp - 0x1c], ebx
jne 0x1001f3f0
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0xe4], eax
dec dword [ebp - 0x1c]
je 0x1001f3da
test edx, edx
jne 0x1001f4ae
cmp byte [ebp - 0x34], 0
mov edx, dword [ebp - 0x40]
je 0x1001f40f
cmp dword [ebp - 0x44], ecx
jne 0x1001f40f
mov ecx, dword [ebp + 8]
lea eax, [edi + edx*4]
add dword [ecx + 8], eax
mov eax, dword [esi]
add esi, edx
mov dword [ebp - 0x28], eax
push edi
mov eax, dword [esi]
add esi, edx
mov dword [ebp - 0x24], eax
call fcn.1005c3bd
pop ecx
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x5c]
lea eax, [ebp - 0x70]
mov dword [ebp - 0x70], ebx
push eax
push edi
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
call fcn.100253a3
mov ecx, dword [ebp - 0x5c]
mov edx, ebx
mov dword [ebp - 0x4c], edx
test edi, edi
jle 0x1001f496
mov eax, edx
and eax, 0x80000001
jns 0x1001f45a
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x28]
add eax, edx
add eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x24]
jmp 0x1001f46f
lea eax, [edx + 1]
cdq
idiv edi
cmp word [ecx + edx*2], bx
jne 0x1001f46c
xor eax, eax
inc eax
mov word [ecx + edx*2], ax
mov al, byte [edx + esi]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x44]
mov byte [edx + ecx], al
inc edx
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x4c], edx
cmp edx, edi
jl 0x1001f44c
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x44]
mov dword [esi], edi
mov dword [esi + 4], eax
test ecx, ecx
je 0x1001f4b1
push ecx
call fcn.10061179
pop ecx
jmp 0x1001f4b1
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret