Function at 0x1000a575
Capabilities:
Get disk information
Identify system language via api

Disassembly:
mov eax, 0x1006427c
call fcn.10063d18
sub esp, 0x144
push ebx
push esi
push edi
push 3
mov dword [ebp - 0x30], ecx
xor ebx, ebx
pop ecx
mov dword [ebp - 0x24], ecx
mov byte [ebp - 0x31], dl
mov dword [ebp - 0x14], ebx
jmp 0x1000a5a9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x54], 0x69fdf99f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1000a59b
push 1
mov dword [ebp - 0x50], ebx
pop edi
jmp 0x1000a631
mov dword [ebp - 0x18], 8
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x38], 0x2a3c
mov dword [ebp - 0x14], ebx
jmp 0x1000a5d9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x138], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1000a5cc
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x50]
neg ecx
push 3
sbb ecx, ecx
neg ecx
add eax, ecx
xor ecx, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
cmp eax, 0x3bd3
mov eax, dword [ebp - 0x54]
setge cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x50]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x134], ecx
dec dword [ebp - 0x50]
pop ecx
cmp dword [ebp - 0x50], 0xfffffff7
jne 0x1000a5b6
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], ebx
jmp 0x1000a65b
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1000a658
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffea
jne 0x1000a649
mov dword [ebp - 0x14], 0x2bdf
cmp dword [ebp - 0x14], 0x2d81
jle 0x1000a6be
mov esi, ebx
mov edi, ebx
mov eax, esi
lea ecx, [ebp - 0x150]
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.1000a53d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000a694
mov eax, dword [eax]
push eax
call fcn.1004bc81
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x150]
call fcn.10009b30
inc edi
cmp edi, 0x455
jl 0x1000a675
inc esi
cmp esi, 0xb1c
jl 0x1000a673
xor edi, edi
inc edi
cmp dword [ebp - 0x14], 0x2801
jge 0x1000a6d2
push 0x10007764
call fcn.1004bc81
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc0]
mov esi, dword [0x1006a5ec]
mov dword [ebp - 0x18], 0xffff
push edi
mov dword [ebp - 0x38], esi
call fcn.1000c02f
mov dword [ebp - 0x10], ebx
jmp 0x1000a708
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x11c], 0xa136951a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1000a6f7
mov dword [ebp - 0x10], ebx
jmp 0x1000a726
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc0]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1000a713
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x18], 0xffffffeb
jmp 0x1000a7a2
mov dword [ebp - 0x20], 0xeea5
xor edx, edx
mov dword [ebp - 0x28], 0xd7d393e7
mov dword [ebp - 0x14], 0x85dc1b6e
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0xc0]
setl dl
mov dword [ebp - 0x20], edx
mov dword [eax], edx
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x11c]
setl dl
xor ecx, ecx
cmp eax, edx
setge cl
xor eax, eax
cmp ecx, 0xffffffff
setne al
cmp eax, 0xfffffffe
sbb eax, eax
inc eax
imul eax, eax, 0xe617
mov dword [ebp - 0x14], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x24
jge 0x1000a73d
lea ecx, [ebp - 0xc0]
call fcn.1000c0b1
mov edi, dword [ebp + 8]
xor ecx, ecx
inc ecx
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
cmp byte [ebp - 0x31], bl
je 0x1000a927
cmp esi, ecx
jne 0x1000a927
mov dword [ebp - 0x14], ebx
jmp 0x1000a7e8
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x64], 5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1000a7da
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], bl
je 0x1000a806
push 0xe9
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
push 2
pop esi
push esi
lea ecx, [ebp - 0x48]
mov dword [edi + 8], 4
call fcn.1000c02f
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], 0x928f0bd9
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x10], ebx
jmp 0x1000a847
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x60], 0xa4a9bdba
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x1000a839
mov dword [ebp - 0x10], ebx
jmp 0x1000a862
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x48]
mov dword [eax + ecx*4], 0xa2afe01b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x1000a852
mov eax, dword [ebp - 0x48]
mov dword [eax], esi
lea esi, [eax + 4]
mov eax, dword [eax]
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x60]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x60]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x60]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x60]
cmp dword [esi], eax
mov eax, dword [ebp - 0x48]
setl dl
xor ecx, ecx
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x60]
cmp eax, edx
mov eax, dword [ebp - 0x48]
sete cl
mov dword [ebp - 0x14], ecx
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x60]
cmp dword [ebp - 0x14], eax
jg 0x1000a8bb
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x48]
xor ecx, ecx
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x60]
test eax, eax
mov eax, dword [ebp - 0x48]
setne cl
mov dword [ebp - 0x14], ecx
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x60]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
cmp eax, 9
sbb eax, eax
neg eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], ebx
jmp 0x1000a901
mov dword [ebp - 0x14], 0x7557bc77
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x1000a8f7
mov eax, dword [ebp - 0x48]
dec dword [eax]
jns 0x1000a86f
lea ecx, [ebp - 0x48]
call fcn.1000c0b1
mov esi, dword [ebp - 0x38]
xor ecx, ecx
mov dword [edi + 0xc], 0x1006a5ec
inc ecx
mov dword [ebp - 0x18], 0xfffffffb
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x18], 0xffffffff
jmp 0x1000a9a6
mov dword [ebp - 0x14], 0x7cc42477
xor edx, edx
mov dword [ebp - 0x20], 0x403c
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x10], 0x11b9c6fe
mov dword [ebp - 0x10], 0xfa014801
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setle dl
xor ecx, ecx
mov dword [ebp - 0x10], edx
inc ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, ecx
cmp dword [ebp - 0x18], ebx
jne 0x1000a994
mov eax, ebx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x11
jge 0x1000a941
cmp dword [ebp - 0x30], esi
jge 0x1000b240
push dword [ebp + 8]
movdqa xmm0, xmmword [0x10008a00]
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x18], 0x3b26bdde
push eax
push ebx
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x88], ebx
mov esi, 0x1006a5f0
mov dword [ebp - 0x84], ebx
movdqu xmmword [ebp - 0x12c], xmm0
mov dword [ebp - 0x80], ebx
call fcn.1000e16f
xor edi, edi
mov dword [ebp - 4], 2
mov dword [ebp - 0x18], ebx
inc edi
jmp 0x1000aa61
push edi
lea ecx, [ebp - 0x7c]
call fcn.1000c02f
mov dword [ebp - 0x14], ebx
jmp 0x1000aa26
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x7c]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1000aa1a
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x18]
add edx, edx
cmp edx, eax
mov eax, dword [ebp - 0x88]
setg cl
xor edx, edx
cmp ecx, 0xfffffffa
lea ecx, [ebp - 0x7c]
setle dl
mov dword [eax], edx
mov eax, dword [ebp - 0x7c]
cmp dword [eax], ebx
jne 0x1000aa69
call fcn.1000c0b1
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff1
je 0x1000aa0c
jmp 0x1000aa6e
call fcn.1000c0b1
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1000aa80
push ebx
push ebx
push ebx
call dword [sym.imp.OLEAUT32.dll_SysStringByteLen]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x88]
call fcn.1000c0b1
cmp dword [ebp - 0x30], 0
jle 0x1000ae9f
jmp 0x1000aa9e
xor edi, edi
inc edi
mov dword [ebp - 0x18], 0xffff
lea ecx, [ebp - 0xd8]
push edi
call fcn.1000c02f
mov dword [ebp - 0x10], ebx
jmp 0x1000aac7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x10c], 0xa136951a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1000aab6
mov dword [ebp - 0x10], ebx
jmp 0x1000aae5
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xd8]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x1000aad2
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x18], 0xffffffeb
jmp 0x1000ab61
mov dword [ebp - 0x20], 0xeea5
xor edx, edx
mov dword [ebp - 0x28], 0xd7d393e7
mov dword [ebp - 0x14], 0x85dc1b6e
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0xd8]
setl dl
mov dword [ebp - 0x20], edx
mov dword [eax], edx
xor edx, edx
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10c]
setl dl
xor ecx, ecx
cmp eax, edx
setge cl
xor eax, eax
cmp ecx, 0xffffffff
setne al
cmp eax, 0xfffffffe
sbb eax, eax
inc eax
imul eax, eax, 0xe617
mov dword [ebp - 0x14], eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x24
jge 0x1000aafc
lea ecx, [ebp - 0xd8]
call fcn.1000c0b1
mov edi, dword [esi]
xor ecx, ecx
mov dword [ebp - 0x14], 0xdf75dcec
inc ecx
mov dword [ebp - 0x2c], 0x1532d49a
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 0xffffffef
mov dword [ebp - 0x24], edi
jl 0x1000ad6e
mov dword [ebp - 0x18], ebx
mov eax, 0x7a3a11c1
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x2c], 0x1c097bc8
mov dword [ebp - 0x2c], 0x4087a912
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x2c], 0xe86ff18e
mov dword [ebp - 0x2c], 0xcae7bf19
mov dword [ebp - 0x3c], 0x4f6b903c
mov dword [ebp - 0x2c], 0x6ed4bca9
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0xffffffff
jg 0x1000ad3b
mov dword [ebp - 0x10], 0xffffffff
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x2c], 0xa8cf1d65
push 2
call fcn.1000c02f
push 2
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 3
call fcn.1000c02f
mov dword [ebp - 0x10], ebx
jmp 0x1000ac40
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xfc]
mov dword [eax + ecx*4], 0x12a7b09f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1000ac2d
mov dword [ebp - 0x10], ebx
jmp 0x1000ac5e
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xe4]
mov dword [eax + ecx*4], 4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x1000ac4b
mov dword [ebp - 0x10], ebx
jmp 0x1000ac7a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x9c], 0xed1ad67a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x1000ac69
mov dword [ebp - 0x10], 3
cmp dword [ebp - 0x10], ebx
jl 0x1000ad11
mov edi, dword [ebp - 0xe4]
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x20], 0x939e63a5
mov dword [ebp - 0x20], 0x9c089ced
mov dword [ebp - 0x20], 8
mov eax, dword [ebp - 0x14]
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0x20]
lea eax, [edx + 1]
mov dword [edi + 4], eax
cmp edx, ecx
jg 0x1000acca
xor edx, edx
inc edx
jmp 0x1000accc
mov edx, ebx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x9c]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x9c], ecx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
add eax, 0xc7be
cmp eax, edx
jge 0x1000ad04
mov eax, dword [ebp - 0x3c]
sub eax, 0xfffffffc
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x2c]
jle 0x1000ad04
xor eax, eax
inc eax
jmp 0x1000ad06
mov eax, ebx
add eax, 0xfffffff8
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x10]
jns 0x1000ac96
lea ecx, [ebp - 0xe4]
call fcn.1000c0b1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xfc]
call fcn.1000c0b1
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffff
jle 0x1000abf2
xor ecx, ecx
inc ecx
mov dword [ebp - 0x18], 0xfffffffd
jmp 0x1000ad59
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1000ad56
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
xor ecx, ecx
inc ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jne 0x1000ad44
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffef
jge 0x1000ab95
mov edi, dword [ebp - 0x24]
mov eax, dword [esi + 4]
add esi, 8
test eax, eax
jne 0x1000ad7b
add esi, 8
mov dword [ebp - 0x18], 0xfffffff6
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x28], 4
mov dword [ebp - 0x28], 0xc8b24cec
mov dword [ebp - 0x24], 0x6b13122e
mov dword [ebp - 0x20], 0xbd9f019d
mov dword [ebp - 0x14], ebx
jmp 0x1000adb7
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb4], 0xb8fa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x1000ada6
mov dword [ebp - 0x18], ebx
jmp 0x1000ae0c
push ecx
lea ecx, [ebp - 0xa8]
call fcn.1000c02f
xor edx, edx
mov dword [ebp - 0x14], ebx
inc edx
jmp 0x1000ade5
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa8]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x1000add6
lea ecx, [ebp - 0xa8]
cmp dword [ebp - 0x18], ebx
jne 0x1000ae13
mov eax, dword [ebp - 0xa8]
mov dword [eax], 2
call fcn.1000c0b1
inc dword [ebp - 0x18]
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x18], ecx
jge 0x1000adc2
jmp 0x1000ae18
call fcn.1000c0b1
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0xac]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setl cl
add ecx, dword [ebp - 0xac]
neg ecx
cmp dword [ebp - 0x18], ecx
je 0x1000ae55
cmp dword [ebp - 0x10], ebx
jne 0x1000ae55
mov edx, ebx
jmp 0x1000ae58
xor edx, edx
inc edx
mov eax, dword [ebp - 0x10]
xor ecx, ecx
cmp edx, eax
setle cl
shl ecx, 2
sub ecx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], ebx
je 0x1000ae7e
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
setne dl
add esi, edi
dec dword [ebp - 0x30]
mov dword [ebp - 0x10], edx
jne 0x1000aa9b
mov edi, dword [esi]
mov dword [ebp - 0x10], 0xfffffffc
mov dword [ebp - 0x18], 1
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x1000aec3
push 0xb78
call dword [sym.imp.USER32.dll_GetSysColor]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
je 0x1000af95
mov dword [ebp - 0x14], 0xfffffff7
mov dword [ebp - 0x30], 0xe936be85
mov dword [ebp - 0x24], 0x9c79ebef
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x14], ebx
jne 0x1000af2f
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setge dl
cmp edx, dword [ebp - 0x10]
jge 0x1000af10
cmp dword [ebp - 0x14], ebx
jne 0x1000af10
xor ecx, ecx
mov eax, ebx
inc ecx
jmp 0x1000af15
xor ecx, ecx
inc ecx
mov eax, ecx
cmp eax, dword [ebp - 0x10]
jne 0x1000af21
mov eax, ecx
cmp dword [ebp - 0x30], ebx
jne 0x1000af23
mov eax, ebx
add eax, 0xfffffffd
mov edx, ecx
cmp eax, 0xac3a6081
jb 0x1000af31
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x30]
cmp eax, 0x8bb
mov eax, dword [ebp - 0x10]
setne cl
xor edx, edx
cmp ecx, eax
mov ecx, 0x95a
setge dl
sub edx, dword [ebp - 0x14]
neg edx
sbb edx, edx
inc edx
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
sub ecx, eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], edx
xor edx, edx
cmp ecx, dword [ebp - 0x24]
setl dl
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], ecx
xor ecx, ecx
cmp eax, dword [ebp - 0x24]
setle cl
mov dword [ebp - 0x24], ecx
jmp 0x1000b008
mov dword [ebp - 0x14], 0x972e
xor edx, edx
mov dword [ebp - 0x20], 0xd2c298c2
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
neg ecx
je 0x1000afd6
cmp dword [ebp - 0x14], ebx
je 0x1000afd6
xor ecx, ecx
inc ecx
jmp 0x1000afd8
mov ecx, ebx
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x20]
neg edx
sbb edx, edx
imul eax, ecx, 0x499c
inc edx
sub eax, 0xe219
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp edx, eax
setne cl
sub ecx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x10], ecx
mov eax, dword [esi + 4]
mov dword [ebp - 0x10], 0xfffffffc
mov dword [ebp - 0x18], 1
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
mov dword [ebp - 0x2c], eax
je 0x1000b030
push 0xb78
call dword [sym.imp.USER32.dll_GetSysColor]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
je 0x1000b0fe
mov dword [ebp - 0x14], 0xfffffff7
mov dword [ebp - 0x30], 0xe936be85
mov dword [ebp - 0x24], 0x9c79ebef
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x14], ebx
jne 0x1000b09c
mov ecx, dword [ebp - 0x30]
xor edx, edx
mov eax, dword [ebp - 0x10]
cmp ecx, eax
setge dl
cmp edx, dword [ebp - 0x10]
jge 0x1000b07d
cmp dword [ebp - 0x14], ebx
jne 0x1000b07d
xor ecx, ecx
mov eax, ebx
inc ecx
jmp 0x1000b082
xor ecx, ecx
inc ecx
mov eax, ecx
cmp eax, dword [ebp - 0x10]
jne 0x1000b08e
mov eax, ecx
cmp dword [ebp - 0x30], ebx
jne 0x1000b090
mov eax, ebx
add eax, 0xfffffffd
mov edx, ecx
cmp eax, 0xac3a6081
jb 0x1000b09e
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x30], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x30]
cmp eax, 0x8bb
mov eax, dword [ebp - 0x10]
setne cl
xor edx, edx
cmp ecx, eax
mov ecx, 0x95a
setge dl
sub edx, dword [ebp - 0x14]
neg edx
sbb edx, edx
inc edx
add edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
sub ecx, eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], ecx
xor ecx, ecx
cmp dword [ebp - 0x24], edx
setl cl
xor edx, edx
cmp ecx, eax
setge dl
xor ecx, ecx
sub edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
cmp eax, edx
setle cl
mov dword [ebp - 0x24], ecx
jmp 0x1000b172
mov dword [ebp - 0x14], 0x972e
xor edx, edx
mov dword [ebp - 0x20], 0xd2c298c2
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg ecx
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
neg ecx
je 0x1000b13f
cmp dword [ebp - 0x14], ebx
je 0x1000b13f
xor ecx, ecx
inc ecx
jmp 0x1000b141
mov ecx, ebx
mov eax, dword [ebp - 0x14]
imul edx, ecx, 0x499c
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
sub edx, 0xe219
neg edx
sbb edx, edx
inc edx
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, edx
setne cl
sub ecx, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x2c], 0
jne 0x1000b23d
cmp byte [ebp - 0x31], 0
je 0x1000b191
cmp dword [ebp - 0x38], 1
jne 0x1000b191
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0xc]
add esi, 0x10
push edi
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x3c], esi
call fcn.100470d2
pop ecx
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x70]
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x8c], ebx
push eax
push edi
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
call fcn.1000c372
mov esi, dword [ebp - 0x70]
mov ecx, ebx
test edi, edi
jle 0x1000b219
mov eax, ecx
and eax, 0x80000001
jns 0x1000b1e3
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x24]
add eax, ecx
add eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x2c]
jmp 0x1000b1f8
lea eax, [edx + 1]
cdq
idiv edi
cmp word [esi + edx*2], bx
jne 0x1000b1f5
xor eax, eax
inc eax
mov word [esi + edx*2], ax
mov eax, dword [ebp - 0x3c]
mov al, byte [edx + eax]
mov edx, dword [ebp - 0x38]
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x1000b1d5
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x38]
mov dword [edi + 4], eax
test esi, esi
je 0x1000b240
push esi
call fcn.1004b94d
pop ecx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
jmp 0x1000b240
mov edi, dword [ebp + 8]
push 4
pop esi
mov dword [ebp + 8], 0x6847dfa8
lea ecx, [ebp - 0xf0]
push esi
call fcn.1000c02f
push 3
lea ecx, [ebp - 0xcc]
mov dword [ebp - 4], esi
call fcn.1000c02f
mov dword [ebp + 8], ebx
jmp 0x1000b27e
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0xf0]
mov dword [eax + ecx*4], 0xb871c7bf
inc dword [ebp + 8]
cmp dword [ebp + 8], esi
jl 0x1000b26b
mov dword [ebp + 8], ebx
jmp 0x1000b29b
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0x315362d
inc dword [ebp + 8]
cmp dword [ebp + 8], 3
jl 0x1000b288
mov eax, dword [ebp - 0xcc]
inc dword [eax + 8]
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], 0
je 0x1000b2bc
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
lea ecx, [ebp - 0xcc]
call fcn.1000c0b1
lea ecx, [ebp - 0xf0]
call fcn.1000c0b1
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret