Function at 0x10001ca0
Capabilities:
Get common file path
Get disk size
Get memory capacity
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x100184b6
mov eax, dword fs:[0]
push eax
sub esp, 0x568
mov eax, dword [0x10021568]
xor eax, esp
mov dword [esp + 0x530], eax
push ebx
push esi
push edi
mov eax, dword [0x10021568]
xor eax, esp
push eax
lea eax, [esp + 0x578]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [esp + 0x60], eax
mov dword [esp + 0x34], ecx
cmp byte [eax + 0x64], bl
jne 0x10002cb1
mov byte [eax + 0x64], 1
xor edi, edi
mov eax, 0x1001bd30
lea esi, [esp + 0x2b4]
mov dword [esp + 0x2c8], 0xf
mov dword [esp + 0x2c4], ebx
mov byte [esp + 0x2b4], bl
call fcn.10003390
mov dword [esp + 0x580], ebx
mov eax, 0x1001bd30
lea esi, [esp + 0x220]
mov dword [esp + 0x234], 0xf
mov dword [esp + 0x230], ebx
mov byte [esp + 0x220], bl
call fcn.10003390
mov byte [esp + 0x580], 1
mov eax, 0x1001bd30
lea esi, [esp + 0x274]
mov dword [esp + 0x288], 0xf
mov dword [esp + 0x284], ebx
mov byte [esp + 0x274], bl
call fcn.10003390
mov byte [esp + 0x580], 2
mov eax, 0x1001bd30
lea esi, [esp + 0x23c]
mov dword [esp + 0x250], 0xf
mov dword [esp + 0x24c], ebx
mov byte [esp + 0x23c], bl
call fcn.10003390
mov byte [esp + 0x580], 3
mov eax, 0x1001bd30
lea esi, [esp + 0x144]
mov dword [esp + 0x158], 0xf
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
call fcn.10003390
mov byte [esp + 0x580], 4
mov eax, 0x1001bd30
lea esi, [esp + 0x204]
mov dword [esp + 0x218], 0xf
mov dword [esp + 0x214], ebx
mov byte [esp + 0x204], bl
call fcn.10003390
mov byte [esp + 0x580], 5
mov eax, 0x1001bd30
lea esi, [esp + 0x258]
mov dword [esp + 0x26c], 0xf
mov dword [esp + 0x268], ebx
mov byte [esp + 0x258], bl
call fcn.10003390
mov byte [esp + 0x580], 6
mov eax, 0x1001bd30
lea esi, [esp + 0x1e8]
mov dword [esp + 0x1fc], 0xf
mov dword [esp + 0x1f8], ebx
mov byte [esp + 0x1e8], bl
call fcn.10003390
push 0x103
lea edx, [esp + 0x439]
push ebx
push edx
mov byte [esp + 0x440], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
mov dword [esp + 0x18c], 0xf
mov dword [esp + 0x188], ebx
mov byte [esp + 0x178], bl
mov dword [esp + 0x160], ebx
mov dword [esp + 0x164], ebx
mov dword [esp + 0x168], ebx
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x170], ebx
mov word [esp + 0x174], bx
mov byte [esp + 0x580], 8
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push ebx
call esi
push 1
mov edi, eax
call esi
push eax
push edi
mov edi, dword [sym.imp.MSVCR100.dll_sprintf]
lea eax, [esp + 0x43c]
push str._d_d
push eax
call edi
lea eax, [esp + 0x444]
add esp, 0x10
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10001f20
sub eax, esi
push eax
lea eax, [esp + 0x438]
lea ecx, [esp + 0x240]
call fcn.10003050
lea ecx, [esp + 0x2ec]
push ecx
mov dword [esp + 0x2f0], 0x40
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov eax, dword [esp + 0x2f4]
mov edx, dword [esp + 0x2f8]
shrd eax, edx, 0x14
push eax
lea eax, [esp + 0x438]
push str._lu_MB
push eax
shr edx, 0x14
call edi
lea eax, [esp + 0x440]
add esp, 0xc
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10001f88
sub eax, esi
push eax
lea eax, [esp + 0x438]
lea ecx, [esp + 0x278]
call fcn.10003050
lea ecx, [esp + 0xc8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
fldz
xor edi, edi
fstp dword [esp + 0x4c]
mov eax, 0x1001bd30
lea esi, [esp + 0x194]
mov dword [esp + 0x1a8], 0xf
mov dword [esp + 0x1a4], ebx
mov byte [esp + 0x194], bl
call fcn.10003390
mov byte [esp + 0x580], 9
mov eax, 0x1001bd30
lea esi, [esp + 0x1b0]
mov dword [esp + 0x1c4], 0xf
mov dword [esp + 0x1c0], ebx
mov byte [esp + 0x1b0], bl
call fcn.10003390
sub esp, 0x1c
mov byte [esp + 0x59c], 0xa
mov esi, esp
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
mov edi, 4
mov eax, str.MHz
mov dword [esp + 0x6c], esp
mov byte [esi], bl
call fcn.10003390
sub esp, 0x1c
mov byte [esp + 0x5b8], 0xb
mov esi, esp
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
mov edi, 0x2e
mov eax, str.HARDWAREDESCRIPTIONSystemCentralProcessor0
mov dword [esp + 0x74], esp
mov byte [esi], bl
call fcn.10003390
push 0x80000002
lea ecx, [esp + 0x1ec]
mov byte [esp + 0x5bc], 0xa
call fcn.10001a20
cmp al, bl
je 0x100020c6
cmp dword [esp + 0x1c4], 0x10
mov eax, dword [esp + 0x1b0]
jae 0x100020a4
lea eax, [esp + 0x1b0]
push eax
call dword [sym.imp.MSVCR100.dll_atol]
mov dword [esp + 0x50], eax
fild dword [esp + 0x50]
add esp, 4
fdiv qword [0x1001ca20]
fadd qword [0x1001ca18]
fstp dword [esp + 0x4c]
sub esp, 0x1c
mov esi, esp
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
mov edi, 0x13
mov eax, str.ProcessorNameString
mov dword [esp + 0x58], esp
mov byte [esi], bl
call fcn.10003390
sub esp, 0x1c
mov byte [esp + 0x5b8], 0xc
mov esi, esp
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
mov edi, 0x2e
mov eax, str.HARDWAREDESCRIPTIONSystemCentralProcessor0
mov dword [esp + 0x88], esp
mov byte [esi], bl
call fcn.10003390
push 0x80000002
lea ecx, [esp + 0x1d0]
mov byte [esp + 0x5bc], 0xa
call fcn.10001a20
cmp dword [esp + 0x1a8], 0x10
mov eax, dword [esp + 0x194]
jae 0x1000214a
lea eax, [esp + 0x194]
mov edx, dword [esp + 0xdc]
fld dword [esp + 0x4c]
push edx
sub esp, 8
fstp qword [esp]
push eax
lea eax, [esp + 0x444]
push str._s__0.2fGHz__d_core
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
lea eax, [esp + 0x44c]
add esp, 0x18
lea esi, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10002180
sub eax, esi
push eax
lea eax, [esp + 0x438]
lea ecx, [esp + 0x224]
call fcn.10003050
xor edi, edi
mov eax, 0x1001bd30
lea esi, [esp + 0x1cc]
mov dword [esp + 0x1e0], 0xf
mov dword [esp + 0x1dc], ebx
mov byte [esp + 0x1cc], bl
call fcn.10003390
sub esp, 0x1c
mov byte [esp + 0x59c], 0xd
mov esi, esp
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
mov eax, 0x1001bd30
mov dword [esp + 0x58], esp
mov byte [esi], bl
call fcn.10003390
sub esp, 0x1c
mov byte [esp + 0x5b8], 0xe
mov esi, esp
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
mov edi, 0x17
mov eax, str.http_shellopencommand
mov dword [esp + 0x88], esp
mov byte [esi], bl
call fcn.10003390
push 0x80000000
lea ecx, [esp + 0x180]
mov byte [esp + 0x5bc], 0xd
call fcn.10001a20
lea ecx, [esp + 0x30]
push ecx
lea edi, [esp + 0x148]
mov byte [esp + 0x34], 0x22
call fcn.10003210
lea edx, [esp + 0x30]
push edx
mov esi, eax
mov byte [esp + 0x34], 0x5c
call fcn.10003210
push esi
lea ebx, [eax + 1]
mov eax, edi
push eax
lea esi, [esp + 0xf4]
call fcn.10002f00
mov edi, eax
lea esi, [esp + 0x1cc]
mov byte [esp + 0x580], 0xf
call fcn.10001280
mov byte [esp + 0x580], 0xd
cmp dword [esp + 0x100], 0x10
jb 0x100022ab
mov ecx, dword [esp + 0xec]
push ecx
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
push 1
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x1d4]
push eax
mov byte [esp + 0x3c], 0x22
call fcn.10003170
push eax
lea ecx, [esp + 0x1d0]
push ecx
xor ebx, ebx
lea esi, [esp + 0xf4]
call fcn.10002f00
mov ebx, 0x10
mov edi, eax
lea esi, [esp + 0x144]
mov byte [esp + 0x580], bl
call fcn.10001280
cmp dword [esp + 0x100], ebx
jb 0x1000230f
mov edx, dword [esp + 0xec]
push edx
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
xor eax, eax
mov dword [esp + 0x13c], 0xf
mov dword [esp + 0x138], eax
mov byte [esp + 0x128], al
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], eax
mov word [esp + 0x124], ax
lea ecx, [esp + 0xec]
lea ebx, [esp + 0x110]
mov byte [esp + 0x580], 0x11
call fcn.10007a60
mov edi, eax
lea esi, [esp + 0x2b4]
mov byte [esp + 0x580], 0x12
call fcn.10001280
mov byte [esp + 0x580], 0x11
cmp dword [esp + 0x100], 0x10
jb 0x100023a9
mov eax, dword [esp + 0xec]
push eax
call dword [sym.imp.mfc100.dll_Ordinal_1296]
add esp, 4
mov ecx, dword [esp + 0x34]
push ecx
or eax, 0xffffffff
xor ebx, ebx
lea ecx, [esp + 0x208]
call fcn.10001300
push 0x103
lea edx, [esp + 0x331]
push ebx
push edx
mov byte [esp + 0x338], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
push 0x104
lea eax, [esp + 0x330]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov cl, byte [esp + 0x32c]
mov dl, byte [esp + 0x32d]
mov al, byte [esp + 0x32e]
mov byte [esp + 0x38], cl
lea ecx, [esp + 0x54]
push ecx
mov byte [esp + 0x3d], dl
lea edx, [esp + 0x70]
mov byte [esp + 0x3e], al
push edx
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x47], bl
mov ebx, dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
push ecx
call ebx
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ecx, eax
and eax, 0x7fffffff
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edx
fild qword [esp + 0x3c]
and ecx, 0x80000000
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], 0
fild qword [esp + 0x3c]
sub esp, 8
lea eax, [esp + 0x334]
fchs
faddp st(1)
fld qword [0x1001ca10]
fmul st(1), st(0)
fmul st(1), st(0)
fmulp st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp qword [esp]
push str._4.2fGB
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
lea eax, [esp + 0x33c]
add esp, 0x10
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100024a0
sub eax, esi
mov edi, eax
lea eax, [esp + 0x32c]
lea esi, [esp + 0x258]
call fcn.10003390
push 0x104
lea ecx, [esp + 0x330]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov dl, byte [esp + 0x32c]
mov al, byte [esp + 0x32d]
mov cl, byte [esp + 0x32e]
mov byte [esp + 0x38], dl
lea edx, [esp + 0x54]
push edx
mov byte [esp + 0x3d], al
lea eax, [esp + 0x70]
mov byte [esp + 0x3e], cl
push eax
lea ecx, [esp + 0x6c]
push ecx
lea edx, [esp + 0x44]
push edx
mov byte [esp + 0x4b], 0
call ebx
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x3c], ecx
mov ecx, eax
and eax, 0x7fffffff
mov dword [esp + 0x40], eax
fild qword [esp + 0x3c]
and ecx, 0x80000000
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], 0
fild qword [esp + 0x3c]
sub esp, 8
lea edx, [esp + 0x334]
fchs
faddp st(1)
fld qword [0x1001ca10]
fmul st(1), st(0)
fmul st(1), st(0)
fmulp st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp qword [esp]
push str._4.2fGB
push edx
call dword [sym.imp.MSVCR100.dll_sprintf]
lea eax, [esp + 0x33c]
add esp, 0x10
lea ecx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10002580
sub eax, ecx
mov edi, eax
lea eax, [esp + 0x32c]
lea esi, [esp + 0x1e8]
call fcn.10003390
call fcn.10001bd0
and dword [esp + 0xf4], 0xfffffe00
mov edi, eax
mov dword [esp + 0xf8], 0
mov bl, 0x14
lea eax, [esp + 0x2b4]
lea esi, [esp + 0x3c]
mov byte [esp + 0x580], bl
call fcn.10009d70
mov dword [esp + 0x34], eax
push 0x1001bc48
lea eax, [esp + 0xf0]
push eax
mov byte [esp + 0x588], 0x15
call fcn.1000a660
mov esi, eax
mov eax, dword [esp + 0x34]
call fcn.10009fe0
lea eax, [esp + 0x3c]
mov byte [esp + 0x580], bl
call fcn.10009f40
lea eax, [esp + 0x220]
lea esi, [esp + 0x3c]
call fcn.10009d70
mov dword [esp + 0x34], eax
push 0x1001bc4c
lea ecx, [esp + 0xf0]
push ecx
mov byte [esp + 0x588], 0x16
call fcn.1000a660
mov esi, eax
mov eax, dword [esp + 0x34]
call fcn.10009fe0
lea eax, [esp + 0x3c]
mov byte [esp + 0x580], bl
call fcn.10009f40
lea eax, [esp + 0x274]
lea esi, [esp + 0x3c]
call fcn.10009d70
mov dword [esp + 0x34], eax
push 0x1001bc50
lea edx, [esp + 0xf0]
push edx
mov byte [esp + 0x588], 0x17
call fcn.1000a660
mov esi, eax
mov eax, dword [esp + 0x34]
call fcn.10009fe0
lea eax, [esp + 0x3c]
mov byte [esp + 0x580], bl
call fcn.10009f40
lea eax, [esp + 0x204]
lea esi, [esp + 0x3c]
call fcn.10009d70
mov dword [esp + 0x34], eax
push 0x1001bc54
lea eax, [esp + 0xf0]
push eax
mov byte [esp + 0x588], 0x18
call fcn.1000a660
mov esi, eax
mov eax, dword [esp + 0x34]
call fcn.10009fe0
lea eax, [esp + 0x3c]
mov byte [esp + 0x580], bl
call fcn.10009f40
lea eax, [esp + 0x23c]
lea esi, [esp + 0x3c]
call fcn.10009d70
mov dword [esp + 0x34], eax
push str.resolution
lea ecx, [esp + 0xf0]
push ecx
mov byte [esp + 0x588], 0x19
call fcn.1000a660
mov esi, eax
mov eax, dword [esp + 0x34]
call fcn.10009fe0
lea eax, [esp + 0x3c]
mov byte [esp + 0x580], bl
call fcn.10009f40
lea eax, [esp + 0x144]
lea esi, [esp + 0x3c]
call fcn.10009d70
mov dword [esp + 0x34], eax
push str.defaultbrowser
lea edx, [esp + 0xf0]
push edx
mov byte [esp + 0x588], 0x1a
call fcn.1000a660
mov esi, eax
mov eax, dword [esp + 0x34]
call fcn.10009fe0
lea eax, [esp + 0x3c]
mov byte [esp + 0x580], bl
call fcn.10009f40
lea eax, [esp + 0x258]
lea esi, [esp + 0x3c]
call fcn.10009d70
mov dword [esp + 0x34], eax
push str.sysdiskfreespace
lea eax, [esp + 0xf0]
push eax
mov byte [esp + 0x588], 0x1b
call fcn.1000a660
mov esi, eax
mov eax, dword [esp + 0x34]
call fcn.10009fe0
lea eax, [esp + 0x3c]
mov byte [esp + 0x580], bl
call fcn.10009f40
lea eax, [esp + 0x1e8]
lea esi, [esp + 0x3c]
call fcn.10009d70
mov dword [esp + 0x34], eax
push str.setupdiskfreespace
lea ecx, [esp + 0xf0]
push ecx
mov byte [esp + 0x588], 0x1c
call fcn.1000a660
mov esi, eax
mov eax, dword [esp + 0x34]
call fcn.10009fe0
lea eax, [esp + 0x3c]
mov byte [esp + 0x580], bl
call fcn.10009f40
mov edx, dword [esp + 0x44]
and edx, 0xffffff01
or edx, 1
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], 0
mov dword [esp + 0x3c], edi
push str.ievsersion
lea eax, [esp + 0xf0]
push eax
mov byte [esp + 0x588], 0x1d
call fcn.1000a660
mov esi, eax
lea eax, [esp + 0x3c]
call fcn.10009fe0
lea eax, [esp + 0x3c]
mov byte [esp + 0x580], bl
call fcn.10009f40
mov dword [esp + method.Json::FastWriter.virtual_0], vtable.Json::FastWriter.0
mov dword [esp + 0x2a8], 0xf
mov dword [esp + 0x2a4], 0
mov byte [esp + 0x294], 0
mov byte [esp + 0x2b0], 0
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x2d4]
push edx
lea ecx, [esp + 0x298]
mov byte [esp + 0x588], 0x1e
call fcn.10008370
lea eax, [esp + 0x74]
push eax
mov byte [esp + 0x584], 0x1f
call fcn.10001770
mov byte [esp + 0x580], 0x20
mov edx, 0x272c
mov dword [esp + 0xa4], edx
sub esp, 0x4c
mov eax, esp
mov ebx, 0x2adf
mov dword [esp + 0xf4], ebx
mov ecx, 9
lea esi, [ebp + 0xc]
lea edi, [esp + 0xcc]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0xc0]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xc8]
mov dword [eax + 8], ecx
lea edi, [eax + 0xc]
mov dword [eax + 0x30], edx
mov edx, dword [esp + 0xf8]
mov ecx, 9
lea esi, [esp + 0xcc]
rep movsd dword es:[edi], dword [esi]
mov cl, byte [esp + 0xfc]
mov dword [eax + 0x38], edx
mov dl, byte [esp + 0xfd]
mov byte [eax + 0x3c], cl
mov dword [esp + 0x88], esp
lea ecx, [esp + 0x100]
mov dword [eax + 0x34], ebx
mov byte [eax + 0x3d], dl
push ecx
add eax, 0x40
push eax
call fcn.10002f30
push ebx
push 0x272c
push 3
sub esp, 0x1c
mov byte [esp + 0x5f4], 0x21
mov ecx, esp
lea edx, [esp + 0x344]
mov dword [esp + 0xc4], esp
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push edx
or eax, 0xffffffff
xor ebx, ebx
mov byte [ecx], 0
call fcn.10001300
mov esi, dword [esp + 0xd4]
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x610], 0x22
lea eax, [esi + 0x48]
mov dword [esp + 0xc4], esp
push eax
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], ebx
or eax, 0xffffffff
mov byte [ecx], bl
call fcn.10001300
mov eax, dword [esi]
mov byte [esp + 0x610], 0x20
mov edx, dword [eax + 0x10]
mov ecx, esi
call edx
lea ebx, [esp + 0xb4]
call fcn.10002ff0
mov eax, dword [esp + 0xb4]
mov edi, dword [sym.imp.mfc100.dll_Ordinal_1296]
push eax
call edi
mov esi, 0x10
add esp, 4
cmp dword [esp + 0x2e4], esi
jb 0x10002a22
mov ecx, dword [esp + 0x2d0]
push ecx
call edi
add esp, 4
xor ebx, ebx
mov dword [esp + 0x2e4], 0xf
mov dword [esp + 0x2e0], ebx
mov byte [esp + 0x2d0], bl
mov dword [esp + method.Json::FastWriter.virtual_0], vtable.Json::FastWriter.0
cmp dword [esp + 0x2a8], esi
jb 0x10002a5e
mov edx, dword [esp + 0x294]
push edx
call edi
add esp, 4
lea eax, [esp + 0xec]
mov dword [esp + 0x2a8], 0xf
mov dword [esp + 0x2a4], ebx
mov byte [esp + 0x294], bl
mov dword [esp + method.Json::Writer.virtual_0], vtable.Json::Writer.0
mov byte [esp + 0x580], 0x11
call fcn.10009f40
cmp dword [esp + 0x13c], esi
jb 0x10002aac
mov eax, dword [esp + 0x128]
push eax
call edi
add esp, 4
mov dword [esp + 0x13c], 0xf
mov dword [esp + 0x138], ebx
mov byte [esp + 0x128], bl
cmp dword [esp + 0x1e0], esi
jb 0x10002adb
mov ecx, dword [esp + 0x1cc]
push ecx
call edi
add esp, 4
mov dword [esp + 0x1e0], 0xf
mov dword [esp + 0x1dc], ebx
mov byte [esp + 0x1cc], bl
cmp dword [esp + 0x1c4], esi
jb 0x10002b0a
mov edx, dword [esp + 0x1b0]
push edx
call edi
add esp, 4
mov dword [esp + 0x1c4], 0xf
mov dword [esp + 0x1c0], ebx
mov byte [esp + 0x1b0], bl
cmp dword [esp + 0x1a8], esi
jb 0x10002b39
mov eax, dword [esp + 0x194]
push eax
call edi
add esp, 4
mov dword [esp + 0x1a8], 0xf
mov dword [esp + 0x1a4], ebx
mov byte [esp + 0x194], bl
cmp dword [esp + 0x1fc], esi
jb 0x10002b68
mov ecx, dword [esp + 0x1e8]
push ecx
call edi
add esp, 4
mov dword [esp + 0x1fc], 0xf
mov dword [esp + 0x1f8], ebx
mov byte [esp + 0x1e8], bl
cmp dword [esp + 0x26c], esi
jb 0x10002b97
mov edx, dword [esp + 0x258]
push edx
call edi
add esp, 4
mov dword [esp + 0x26c], 0xf
mov dword [esp + 0x268], ebx
mov byte [esp + 0x258], bl
cmp dword [esp + 0x218], esi
jb 0x10002bc6
mov eax, dword [esp + 0x204]
push eax
call edi
add esp, 4
mov dword [esp + 0x218], 0xf
mov dword [esp + 0x214], ebx
mov byte [esp + 0x204], bl
cmp dword [esp + 0x158], esi
jb 0x10002bf5
mov ecx, dword [esp + 0x144]
push ecx
call edi
add esp, 4
mov dword [esp + 0x158], 0xf
mov dword [esp + 0x154], ebx
mov byte [esp + 0x144], bl
cmp dword [esp + 0x250], esi
jb 0x10002c24
mov edx, dword [esp + 0x23c]
push edx
call edi
add esp, 4
mov dword [esp + 0x250], 0xf
mov dword [esp + 0x24c], ebx
mov byte [esp + 0x23c], bl
cmp dword [esp + 0x288], esi
jb 0x10002c53
mov eax, dword [esp + 0x274]
push eax
call edi
add esp, 4
mov dword [esp + 0x288], 0xf
mov dword [esp + 0x284], ebx
mov byte [esp + 0x274], bl
cmp dword [esp + 0x234], esi
jb 0x10002c82
mov ecx, dword [esp + 0x220]
push ecx
call edi
add esp, 4
mov dword [esp + 0x234], 0xf
mov dword [esp + 0x230], ebx
mov byte [esp + 0x220], bl
cmp dword [esp + 0x2c8], esi
jb 0x10002cb1
mov edx, dword [esp + 0x2b4]
push edx
call edi
add esp, 4
mov ecx, dword [esp + 0x578]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x530]
xor ecx, esp
call fcn.10015f75
mov esp, ebp
pop ebp
ret 0x28