Function at 0x10023860
Capabilities:
Check if file exists
Get common file path
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d9a2e
mov eax, dword fs:[0]
push eax
sub esp, 0x7d8
mov eax, dword [0x100fb074]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x7dc], edx
mov ebx, ecx
mov dword [ebp - 0x7e0], ebx
mov eax, dword [ebp + 0x10]
push 0x104
mov dword [ebp - 0x7d8], eax
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x74c]
push 0x104
push 0
push eax
call fcn.100b7060
add esp, 0xc
mov dword [ebp - 0x7cc], 0x104
lea ecx, [ebp - 0x7ac]
mov dword [ebp - 0x79c], 0
mov dword [ebp - 0x798], 0xf
mov byte [ebp - 0x7ac], 0
push 0x15
push str.Application360se.exe
call fcn.10001800
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x7c4]
push 0x1d
push str.User_DataDefaultPreferences
mov dword [ebp - 0x7b4], 0
mov dword [ebp - 0x7b0], 0xf
mov byte [ebp - 0x7c4], 0
call fcn.10001800
mov dword [ebp - 0x754], 0
mov dword [ebp - 0x750], 0xf
mov byte [ebp - 0x764], 0
mov ecx, str.360se.exe
mov byte [ebp - 4], 2
call fcn.10009fd0
test eax, eax
je 0x10023973
mov edi, 0xfffffffe
jmp 0x10024541
push ebx
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
call ebx
test eax, eax
jne 0x10023987
xor edi, edi
jmp 0x10024541
push 0x104
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.100b7060
mov edi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebp - 0x74c]
add esp, 0xc
push 0
push 0x1c
push eax
push 0
call edi
push 0x104
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.100b7060
mov esi, dword [sym.imp.SHLWAPI.dll_SHGetValueA]
lea eax, [ebp - 0x7cc]
add esp, 0xc
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x7e4]
push eax
push 0x100e86f4
push str.360seURL_shellopencommand
push 0x80000000
call esi
test eax, eax
jne 0x10023c07
lea ecx, [ebp - 0x11c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023a05
sub ecx, edx
cmp ecx, 5
jb 0x10023c07
push ecx
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x764]
call fcn.10001800
push 0
lea eax, [ebp - 0x7ac]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b730
cmp eax, 0xffffffff
je 0x10023c07
push 0
lea eax, [ebp - 0x7ac]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b730
push eax
push 0
lea eax, [ebp - 0x77c]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b6e0
push eax
lea ecx, [ebp - 0x764]
call fcn.1000a6a0
mov edx, dword [ebp - 0x768]
cmp edx, 0x10
jb 0x10023ab6
mov ecx, dword [ebp - 0x77c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10023aac
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10024626
push edx
push ecx
call fcn.100b4813
add esp, 8
push 0
push 0x100e86f4
lea ecx, [ebp - 0x77c]
mov dword [ebp - 0x76c], 0
mov dword [ebp - 0x768], 0xf
mov byte [ebp - 0x77c], 0
call fcn.10001800
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x794]
push 1
push 0x100edc94
mov dword [ebp - 0x784], 0
mov dword [ebp - 0x780], 0xf
mov byte [ebp - 0x794], 0
call fcn.10001800
lea eax, [ebp - 0x77c]
mov byte [ebp - 4], 4
push eax
lea edx, [ebp - 0x794]
lea ecx, [ebp - 0x764]
call fcn.1001b5c0
add esp, 4
lea ecx, [ebp - 0x764]
push eax
call fcn.1000e7a0
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x780]
cmp edx, 0x10
jb 0x10023b7d
mov ecx, dword [ebp - 0x794]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10023b73
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002462b
push edx
push ecx
call fcn.100b4813
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x768]
cmp edx, 0x10
jb 0x10023bbb
mov ecx, dword [ebp - 0x77c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10023bb1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10024630
push edx
push ecx
call fcn.100b4813
add esp, 8
lea eax, [ebp - 0x7c4]
push eax
lea ecx, [ebp - 0x764]
call fcn.1000e730
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
call ebx
test eax, eax
je 0x10023c07
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
push str._DEBUGINFO__SETCRX_SetCrx360_path1___s_n
jmp 0x100242ec
push 0x104
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x7cc]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x7e4]
push eax
push str.DisplayIcon
push str.SoftwareMicrosoftWindowsCurrentVersionUninstall360se6
push 0x80000001
call esi
test eax, eax
jne 0x10023e56
lea ecx, [ebp - 0x11c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023c54
sub ecx, edx
cmp ecx, 5
jb 0x10023e56
push ecx
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x764]
call fcn.10001800
push 0
lea eax, [ebp - 0x7ac]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b730
cmp eax, 0xffffffff
je 0x10023e56
push 0
lea eax, [ebp - 0x7ac]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b730
push eax
push 0
lea eax, [ebp - 0x77c]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b6e0
push eax
lea ecx, [ebp - 0x764]
call fcn.1000a6a0
mov edx, dword [ebp - 0x768]
cmp edx, 0x10
jb 0x10023d05
mov ecx, dword [ebp - 0x77c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10023cfb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10024635
push edx
push ecx
call fcn.100b4813
add esp, 8
push 0
push 0x100e86f4
lea ecx, [ebp - 0x794]
mov dword [ebp - 0x784], 0
mov dword [ebp - 0x780], 0xf
mov byte [ebp - 0x794], 0
call fcn.10001800
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x77c]
push 1
push 0x100edc94
mov dword [ebp - 0x76c], 0
mov dword [ebp - 0x768], 0xf
mov byte [ebp - 0x77c], 0
call fcn.10001800
lea eax, [ebp - 0x794]
mov byte [ebp - 4], 6
push eax
lea edx, [ebp - 0x77c]
lea ecx, [ebp - 0x764]
call fcn.1001b5c0
add esp, 4
lea ecx, [ebp - 0x764]
push eax
call fcn.1000e7a0
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x768]
cmp edx, 0x10
jb 0x10023dcc
mov ecx, dword [ebp - 0x77c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10023dc2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002463a
push edx
push ecx
call fcn.100b4813
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x780]
cmp edx, 0x10
jb 0x10023e0a
mov ecx, dword [ebp - 0x794]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10023e00
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002463f
push edx
push ecx
call fcn.100b4813
add esp, 8
lea eax, [ebp - 0x7c4]
push eax
lea ecx, [ebp - 0x764]
call fcn.1000e730
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
call ebx
test eax, eax
je 0x10023e56
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
push str._DEBUGINFO__SETCRX_SetCrx360_path2___s_n
jmp 0x100242ec
push 0x104
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x11c]
push 0
push 0x1a
push eax
push 0
call edi
lea ecx, [ebp - 0x11c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023e84
sub ecx, edx
lea eax, [ebp - 0x11c]
push ecx
push eax
lea ecx, [ebp - 0x764]
call fcn.10001800
push str.360se6_
lea ecx, [ebp - 0x764]
call fcn.100015b0
lea eax, [ebp - 0x7c4]
push eax
lea ecx, [ebp - 0x764]
call fcn.1000e730
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
call ebx
test eax, eax
je 0x10023efc
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
push str._DEBUGINFO__SETCRX_SetCrx360_path3___s_n
jmp 0x100242ec
push 0x104
lea eax, [ebp - 0x434]
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x224]
push 0x104
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x7d4]
push eax
call dword [sym.imp.SHELL32.dll_SHGetMalloc]
test eax, eax
js 0x10023f7f
lea eax, [ebp - 0x7d0]
push eax
push 0
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderLocation]
test eax, eax
js 0x10023f73
lea eax, [ebp - 0x434]
push eax
push dword [ebp - 0x7d0]
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListA]
mov eax, dword [ebp - 0x7d4]
push dword [ebp - 0x7d0]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov eax, dword [ebp - 0x7d4]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
xor ecx, ecx
mov al, byte [ebp + ecx - 0x434]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x225], al
test al, al
jne 0x10023f81
lea ecx, [ebp - 0x224]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x10023fa0
mov eax, dword [0x100ee614]
mov dword [ecx], eax
mov eax, dword [0x100ee618]
mov dword [ecx + 4], eax
mov eax, dword [0x100ee61c]
mov dword [ecx + 8], eax
mov eax, dword [0x100ee620]
mov dword [ecx + 0xc], eax
mov eax, dword [0x100ee624]
mov dword [ecx + 0x10], eax
lea eax, [ebp - 0x224]
push eax
call ebx
test eax, eax
jne 0x1002403b
xor ecx, ecx
mov al, byte [ebp + ecx - 0x434]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x225], al
test al, al
jne 0x10023fe0
lea ecx, [ebp - 0x224]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x10024000
mov eax, dword [str.360]
mov dword [ecx], eax
mov eax, dword [0x100ee62c]
mov dword [ecx + 4], eax
mov eax, dword [0x100ee630]
mov dword [ecx + 8], eax
mov eax, dword [0x100ee634]
mov dword [ecx + 0xc], eax
mov ax, word [0x100ee638]
mov word [ecx + 0x10], ax
mov al, byte [0x100ee63a]
mov byte [ecx + 0x12], al
lea eax, [ebp - 0x224]
push eax
call ebx
test eax, eax
je 0x1002453e
push 0x104
lea eax, [ebp - 0x11c]
push 0
push eax
call fcn.100b7060
lea ecx, [ebp - 0x224]
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10024070
push 0
push 0
sub ecx, edx
lea eax, [ebp - 0x224]
push ecx
push eax
push 0
push 0
mov dword [ebp - 0x7c8], ecx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
lea esi, [edi*2 + 2]
push esi
call fcn.100bd8fa
add esp, 4
mov ebx, eax
push esi
push 0
push ebx
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x224]
push edi
push ebx
push dword [ebp - 0x7c8]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
xor eax, eax
lea edx, [ebp - 0x11c]
mov ecx, ebx
mov word [ebx + edi*2], ax
call fcn.1001b630
lea ecx, [ebp - 0x11c]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100240f0
sub ecx, edx
lea eax, [ebp - 0x11c]
push ecx
push eax
lea ecx, [ebp - 0x764]
call fcn.10001800
push 0
lea eax, [ebp - 0x7ac]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b730
cmp eax, 0xffffffff
je 0x1002453e
push 0
lea eax, [ebp - 0x7ac]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b730
push eax
push 0
lea eax, [ebp - 0x77c]
push eax
lea ecx, [ebp - 0x764]
call fcn.1001b6e0
push eax
lea ecx, [ebp - 0x764]
call fcn.1000a6a0
mov edx, dword [ebp - 0x768]
cmp edx, 0x10
jb 0x10024198
mov ecx, dword [ebp - 0x77c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002418e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10024644
push edx
push ecx
call fcn.100b4813
add esp, 8
push 0
push 0x100e86f4
lea ecx, [ebp - 0x794]
mov dword [ebp - 0x784], 0
mov dword [ebp - 0x780], 0xf
mov byte [ebp - 0x794], 0
call fcn.10001800
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x77c]
push 1
push 0x100edc94
mov dword [ebp - 0x76c], 0
mov dword [ebp - 0x768], 0xf
mov byte [ebp - 0x77c], 0
call fcn.10001800
lea eax, [ebp - 0x794]
mov byte [ebp - 4], 8
push eax
lea edx, [ebp - 0x77c]
lea ecx, [ebp - 0x764]
call fcn.1001b5c0
add esp, 4
lea ecx, [ebp - 0x764]
push eax
call fcn.1000e7a0
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x768]
cmp edx, 0x10
jb 0x1002425f
mov ecx, dword [ebp - 0x77c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10024255
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10024649
push edx
push ecx
call fcn.100b4813
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x780]
cmp edx, 0x10
jb 0x1002429d
mov ecx, dword [ebp - 0x794]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10024293
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002464e
push edx
push ecx
call fcn.100b4813
add esp, 8
lea eax, [ebp - 0x7c4]
push eax
lea ecx, [ebp - 0x764]
call fcn.1000e730
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x1002453e
cmp dword [ebp - 0x750], 0x10
lea eax, [ebp - 0x764]
cmovae eax, dword [ebp - 0x764]
push eax
push str._DEBUGINFO__SETCRX_SetCrx360_path4___s_n
call fcn.100043d0
add esp, 8
lea eax, [ebp - 0x11c]
push 0x104
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea ecx, [ebp - 0x764]
cmp dword [ebp - 0x750], 0x10
lea edx, [ebp - 0x11c]
cmovae ecx, dword [ebp - 0x764]
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x10024326
push 0x104
lea eax, [ebp - 0x644]
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x644]
push 0x104
push eax
call fcn.100c3c1c
add esp, 0xc
lea eax, [ebp - 0x53c]
push 0x104
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x53c]
push 0x104
push eax
call fcn.100c3c1c
mov esi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
lea eax, [ebp - 0x53c]
add esp, 0xc
push eax
call esi
lea ecx, [ebp - 0x53c]
call fcn.1001a900
test eax, eax
je 0x100243ba
xor edi, edi
jmp 0x10024541
sub esp, 8
lea edx, [ebp - 0x74c]
push dword [ebp - 0x7d8]
push ecx
push 1
push ecx
push dword [ebp - 0x7dc]
lea ecx, [ebp - 0x11c]
push dword [ebp - 0x7e0]
call fcn.10021cd0
mov edi, eax
mov dword [ebp - 0x788], 0
mov dword [ebp - 0x784], 0
mov dword [ebp - 0x780], 0
push 0x104
lea eax, [ebp - 0x32c]
mov byte [ebp - 4], 9
push 0
push eax
call fcn.100b7060
add esp, 0x2c
lea eax, [ebp - 0x644]
push eax
call esi
push 0x100ee4f8
lea edx, [ebp - 0x788]
lea ecx, [ebp - 0x644]
call fcn.100267b0
mov ecx, dword [ebp - 0x784]
mov eax, 0x7e07e07f
mov ebx, dword [ebp - 0x788]
add esp, 4
sub ecx, ebx
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100244f1
mov esi, ebx
mov ebx, eax
nop dword [eax]
push 0x104
lea eax, [ebp - 0x32c]
push 0
push eax
call fcn.100b7060
add esp, 0xc
lea eax, [ebp - 0x32c]
push esi
push 0x104
push eax
call fcn.100c3c1c
add esp, 0xc
lea eax, [ebp - 0x32c]
push str.Preferences
push 0x104
push eax
call fcn.100c3c76
add esp, 4
lea edx, [ebp - 0x74c]
push dword [ebp - 0x7d8]
push ecx
push 0
push ecx
push dword [ebp - 0x7dc]
lea ecx, [ebp - 0x32c]
push dword [ebp - 0x7e0]
call fcn.10021cd0
add esp, 0x20
add esi, 0x104
mov edi, eax
sub ebx, 1
jne 0x10024470
mov ebx, dword [ebp - 0x788]
test ebx, ebx
je 0x10024541
mov ecx, dword [ebp - 0x780]
mov eax, 0x7e07e07f
sub ecx, ebx
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
imul ecx, eax, 0x104
mov eax, ebx
cmp ecx, 0x1000
jb 0x10024532
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10024653
push ecx
push ebx
call fcn.100b4813
add esp, 8
jmp 0x10024541
or edi, 0xffffffff
mov edx, dword [ebp - 0x750]
cmp edx, 0x10
jb 0x1002457b
mov ecx, dword [ebp - 0x764]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10024571
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10024658
push edx
push ecx
call fcn.100b4813
add esp, 8
mov edx, dword [ebp - 0x7b0]
mov dword [ebp - 0x754], 0
mov dword [ebp - 0x750], 0xf
mov byte [ebp - 0x764], 0
cmp edx, 0x10
jb 0x100245d0
mov ecx, dword [ebp - 0x7c4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100245c6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002465d
push edx
push ecx
call fcn.100b4813
add esp, 8
mov edx, dword [ebp - 0x798]
cmp edx, 0x10
jb 0x10024606
mov ecx, dword [ebp - 0x7ac]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100245fc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10024662
push edx
push ecx
call fcn.100b4813
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100b47d2
mov esp, ebp
pop ebp
ret 0x14
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
call fcn.100ba02c
int3