Function at 0x1012bcc0
Capabilities:
Get disk information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x974
mov eax, dword [0x101a34c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x78c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x760], eax
lea eax, [ebp - 0x7a0]
push ebx
push eax
call fcn.1012dafb
mov eax, dword [ebp - 0x7a0]
xor ebx, ebx
and eax, 0x1f
inc ebx
pop ecx
cmp al, 0x1f
jne 0x1012ad09
mov byte [ebp - 0x798], 0
jmp 0x1012ad1c
lea eax, [ebp - 0x7a0]
push eax
call fcn.1012db64
pop ecx
mov byte [ebp - 0x798], bl
push esi
mov esi, dword [ebp + 0xc]
push edi
push 0x20
pop edi
test esi, esi
jg 0x1012ad35
jl 0x1012ad30
cmp dword [ebp + 8], 0
jae 0x1012ad35
push 0x2d
pop eax
jmp 0x1012ad37
mov eax, edi
mov ecx, dword [ebp - 0x78c]
push 0
push 0
mov dword [ecx], eax
mov eax, dword [ebp - 0x760]
mov dword [ecx + 8], eax
lea eax, [ebp - 0x7a4]
push eax
call fcn.1012da9c
mov ecx, esi
xor eax, eax
and ecx, 0x7ff00000
add esp, 0xc
or eax, ecx
jne 0x1012ad95
mov eax, dword [ebp + 8]
mov ecx, esi
and ecx, 0xfffff
or eax, ecx
je 0x1012ad84
test dword [ebp - 0x7a4], 0x1000000
je 0x1012ad95
mov eax, dword [ebp - 0x78c]
push 0x1016c5ac
and dword [eax + 4], 0
jmp 0x1012add3
lea eax, [ebp + 8]
push eax
call fcn.1012076f
pop ecx
test eax, eax
je 0x1012ae16
mov ecx, dword [ebp - 0x78c]
mov dword [ecx + 4], ebx
sub eax, 1
je 0x1012adf1
sub eax, 1
je 0x1012adce
sub eax, 1
je 0x1012adc7
sub eax, 1
jne 0x1012ae16
push str.1IND
jmp 0x1012add3
push str.1SNAN
jmp 0x1012add3
push str.1QNAN
push dword [ebp + 0x20]
push dword [ebp - 0x760]
call fcn.1011b07c
add esp, 0xc
test eax, eax
jne 0x1012c296
jmp 0x1012c26f
push 0x10166800
push dword [ebp + 0x20]
push dword [ebp - 0x760]
call fcn.1011b07c
add esp, 0xc
test eax, eax
jne 0x1012c296
xor ebx, ebx
jmp 0x1012c26f
mov eax, dword [ebp + 8]
and esi, 0x7fffffff
push 0
mov dword [ebp + 8], eax
lea eax, [ebp - 0x794]
mov dword [ebp + 0xc], esi
mov esi, 0x8001f
push 0
push eax
mov dword [ebp - 0x790], esi
call fcn.1012da9c
push dword [ebp - 0x790]
lea eax, [ebp - 0x778]
push esi
push eax
call fcn.1012da9c
fld qword [ebp + 8]
add esp, 0x18
mov eax, dword [ebp + 0x10]
and dword [ebp - 0x770], 0
inc eax
fst qword [ebp - 0x77c]
mov esi, dword [ebp - 0x778]
mov ecx, esi
mov dword [ebp - 0x788], eax
shr ecx, 0x14
mov eax, ecx
and eax, 0x7ff
or eax, 0
jne 0x1012ae91
xor edx, edx
mov dword [ebp - 0x750], ebx
jmp 0x1012ae9e
xor eax, eax
mov edx, 0x100000
and dword [ebp - 0x750], eax
mov edi, dword [ebp - 0x77c]
and esi, 0xfffff
add edi, eax
mov eax, dword [ebp - 0x750]
mov dword [ebp - 0x770], edi
adc esi, edx
and ecx, 0x7ff
add eax, ecx
mov dword [ebp - 0x74c], eax
call fcn.1012dbc0
push ecx
push ecx
fstp qword [esp]
call fcn.1012dcd0
pop ecx
pop ecx
call fcn.1012ee00
mov dword [ebp - 0x784], eax
push 0x20
pop edi
cmp eax, 0x7fffffff
je 0x1012aef5
cmp eax, 0x80000000
jne 0x1012aefc
and dword [ebp - 0x784], 0
mov edx, dword [ebp - 0x74c]
xor ecx, ecx
mov eax, dword [ebp - 0x770]
test esi, esi
mov dword [ebp - 0x1d0], eax
setne cl
mov dword [ebp - 0x1cc], esi
inc ecx
mov dword [ebp - 0x750], ecx
mov dword [ebp - 0x1d4], ecx
cmp edx, 0x433
jb 0x1012b2cd
and dword [ebp - 0x570], 0
mov dword [ebp - 0x56c], 0x100000
mov dword [ebp - 0x574], 2
test esi, esi
je 0x1012b135
xor ecx, ecx
mov eax, dword [ebp + ecx - 0x570]
cmp eax, dword [ebp + ecx - 0x1d0]
jne 0x1012b135
add ecx, 4
cmp ecx, 8
jne 0x1012af59
lea ecx, [edx - 0x431]
mov esi, edi
mov eax, ecx
xor edx, edx
and ecx, 0x1f
shr eax, 5
sub esi, ecx
mov dword [ebp - 0x764], eax
mov dword [ebp - 0x758], ecx
mov eax, ebx
mov ecx, esi
mov dword [ebp - 0x754], esi
call fcn.1012ec70
mov edx, dword [ebp - 0x750]
dec eax
and dword [ebp - 0x778], 0
mov dword [ebp - 0x76c], eax
not eax
mov dword [ebp - 0x770], eax
mov ecx, dword [ebp + edx*4 - 0x1d4]
bsr eax, ecx
je 0x1012afd5
inc eax
mov dword [ebp - 0x750], eax
jmp 0x1012afdc
and dword [ebp - 0x750], 0
mov ecx, dword [ebp - 0x764]
mov esi, 0x1cc
lea eax, [edx + ecx]
cmp eax, 0x73
jbe 0x1012b01a
xor eax, eax
push eax
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x570]
push eax
lea eax, [ebp - 0x1d0]
push esi
push eax
call fcn.10109942
add esp, 0x10
jmp 0x1012b0fc
sub edi, dword [ebp - 0x750]
cmp edi, dword [ebp - 0x758]
sbb eax, eax
neg eax
add eax, edx
add eax, ecx
mov dword [ebp - 0x748], eax
cmp eax, 0x73
ja 0x1012afef
lea edi, [ecx - 1]
dec eax
mov dword [ebp - 0x780], edi
mov dword [ebp - 0x74c], eax
cmp eax, edi
je 0x1012b0e2
mov edi, eax
sub edi, ecx
lea ecx, [ebp - 0x1d4]
lea ecx, [ecx + edi*4]
mov dword [ebp - 0x768], ecx
cmp edi, edx
jae 0x1012b06d
mov eax, dword [ecx + 4]
jmp 0x1012b06f
xor eax, eax
mov dword [ebp - 0x750], eax
lea eax, [edi - 1]
cmp eax, edx
jae 0x1012b080
mov eax, dword [ecx]
jmp 0x1012b082
xor eax, eax
and eax, dword [ebp - 0x770]
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x750]
and edx, dword [ebp - 0x76c]
shr eax, cl
mov ecx, dword [ebp - 0x758]
shl edx, cl
mov ecx, dword [ebp - 0x74c]
or eax, edx
mov dword [ebp + ecx*4 - 0x1d0], eax
mov eax, ecx
mov ecx, dword [ebp - 0x768]
dec eax
sub ecx, 4
mov dword [ebp - 0x74c], eax
dec edi
mov dword [ebp - 0x768], ecx
cmp eax, dword [ebp - 0x780]
je 0x1012b0dc
mov edx, dword [ebp - 0x1d4]
jmp 0x1012b064
mov ecx, dword [ebp - 0x764]
test ecx, ecx
je 0x1012b0f0
xor eax, eax
lea edi, [ebp - 0x1d0]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x748]
mov dword [ebp - 0x1d4], eax
push 4
pop eax
mov dword [ebp - 0x570], eax
push eax
and dword [ebp - 0x56c], 0
lea eax, [ebp - 0x570]
push eax
lea eax, [ebp - 0x3a0]
mov dword [ebp - 0x3a4], ebx
push esi
push eax
mov dword [ebp - 0x574], ebx
call fcn.10109942
add esp, 0x10
jmp 0x1012b503
lea ecx, [edx - 0x432]
mov esi, edi
mov eax, ecx
xor edx, edx
and ecx, 0x1f
shr eax, 5
sub esi, ecx
mov dword [ebp - 0x764], eax
mov dword [ebp - 0x758], ecx
mov eax, ebx
mov ecx, esi
mov dword [ebp - 0x754], esi
call fcn.1012ec70
mov edx, dword [ebp - 0x750]
dec eax
and dword [ebp - 0x778], 0
mov dword [ebp - 0x76c], eax
not eax
mov dword [ebp - 0x770], eax
mov ecx, dword [ebp + edx*4 - 0x1d4]
bsr eax, ecx
je 0x1012b195
inc eax
mov dword [ebp - 0x750], eax
jmp 0x1012b19c
and dword [ebp - 0x750], 0
mov ecx, dword [ebp - 0x764]
mov esi, 0x1cc
lea eax, [edx + ecx]
cmp eax, 0x73
jbe 0x1012b1da
xor eax, eax
push eax
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x570]
push eax
lea eax, [ebp - 0x1d0]
push esi
push eax
call fcn.10109942
add esp, 0x10
jmp 0x1012b2bc
sub edi, dword [ebp - 0x750]
cmp edi, dword [ebp - 0x758]
sbb eax, eax
neg eax
add eax, edx
add eax, ecx
mov dword [ebp - 0x748], eax
cmp eax, 0x73
ja 0x1012b1af
lea edi, [ecx - 1]
dec eax
mov dword [ebp - 0x780], edi
mov dword [ebp - 0x74c], eax
cmp eax, edi
je 0x1012b2a2
mov edi, eax
sub edi, ecx
lea ecx, [ebp - 0x1d4]
lea ecx, [ecx + edi*4]
mov dword [ebp - 0x768], ecx
cmp edi, edx
jae 0x1012b22d
mov eax, dword [ecx + 4]
jmp 0x1012b22f
xor eax, eax
mov dword [ebp - 0x750], eax
lea eax, [edi - 1]
cmp eax, edx
jae 0x1012b240
mov eax, dword [ecx]
jmp 0x1012b242
xor eax, eax
and eax, dword [ebp - 0x770]
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x750]
and edx, dword [ebp - 0x76c]
shr eax, cl
mov ecx, dword [ebp - 0x758]
shl edx, cl
mov ecx, dword [ebp - 0x74c]
or eax, edx
mov dword [ebp + ecx*4 - 0x1d0], eax
mov eax, ecx
mov ecx, dword [ebp - 0x768]
dec eax
sub ecx, 4
mov dword [ebp - 0x74c], eax
dec edi
mov dword [ebp - 0x768], ecx
cmp eax, dword [ebp - 0x780]
je 0x1012b29c
mov edx, dword [ebp - 0x1d4]
jmp 0x1012b224
mov ecx, dword [ebp - 0x764]
test ecx, ecx
je 0x1012b2b0
xor eax, eax
lea edi, [ebp - 0x1d0]
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x748]
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x570], 2
push 4
jmp 0x1012b106
cmp edx, 0x35
je 0x1012b3ec
and dword [ebp - 0x570], 0
mov dword [ebp - 0x56c], 0x100000
mov dword [ebp - 0x574], 2
test esi, esi
je 0x1012b3ec
xor edx, edx
mov eax, dword [ebp + edx - 0x570]
cmp eax, dword [ebp + edx - 0x1d0]
jne 0x1012b3ec
add edx, 4
cmp edx, 8
jne 0x1012b2fb
xor edx, edx
bsr eax, esi
mov dword [ebp - 0x778], edx
je 0x1012b327
inc eax
jmp 0x1012b329
mov eax, edx
sub edi, eax
cmp edi, 2
sbb esi, esi
neg esi
add esi, ecx
cmp esi, 0x73
jbe 0x1012b363
push edx
lea eax, [ebp - 0x570]
mov dword [ebp - 0x574], edx
push eax
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x1d4], edx
push 0x1cc
push eax
call fcn.10109942
add esp, 0x10
jmp 0x1012b3b2
lea edx, [esi - 1]
cmp edx, 0xffffffff
je 0x1012b3ac
lea ebx, [edx - 1]
mov edi, edx
cmp edx, ecx
jae 0x1012b37d
mov eax, dword [ebp + edi*4 - 0x1d0]
jmp 0x1012b37f
xor eax, eax
cmp ebx, ecx
jae 0x1012b38c
mov ecx, dword [ebp + edi*4 - 0x1d4]
jmp 0x1012b38e
xor ecx, ecx
shr ecx, 0x1e
shl eax, 2
or ecx, eax
dec edx
dec ebx
mov dword [ebp + edi*4 - 0x1d0], ecx
cmp edx, 0xffffffff
je 0x1012b3ac
mov ecx, dword [ebp - 0x1d4]
jmp 0x1012b36e
mov dword [ebp - 0x1d4], esi
mov ebx, 0x435
lea eax, [ebp - 0x570]
sub ebx, dword [ebp - 0x74c]
mov edi, ebx
shr edi, 5
mov esi, edi
shl esi, 2
push esi
push 0
push eax
call fcn.100fea60
and ebx, 0x1f
xor eax, eax
inc eax
mov ecx, ebx
shl eax, cl
mov dword [ebp + esi - 0x570], eax
jmp 0x1012b4d1
xor eax, eax
test esi, esi
setne al
and dword [ebp - 0x778], 0
lea eax, [eax*4 + 4]
mov eax, dword [ebp + eax - 0x1d4]
bsr eax, eax
je 0x1012b410
inc eax
jmp 0x1012b412
xor eax, eax
sub edi, eax
cmp edi, ebx
sbb esi, esi
neg esi
add esi, ecx
cmp esi, 0x73
jbe 0x1012b44e
and dword [ebp - 0x574], 0
lea eax, [ebp - 0x570]
and dword [ebp - 0x1d4], 0
push 0
push eax
lea eax, [ebp - 0x1d0]
push 0x1cc
push eax
call fcn.10109942
add esp, 0x10
jmp 0x1012b49c
lea edx, [esi - 1]
cmp edx, 0xffffffff
je 0x1012b496
lea ebx, [edx - 1]
mov edi, edx
cmp edx, ecx
jae 0x1012b468
mov eax, dword [ebp + edi*4 - 0x1d0]
jmp 0x1012b46a
xor eax, eax
cmp ebx, ecx
jae 0x1012b477
mov ecx, dword [ebp + edi*4 - 0x1d4]
jmp 0x1012b479
xor ecx, ecx
shr ecx, 0x1f
add eax, eax
or ecx, eax
dec edx
dec ebx
mov dword [ebp + edi*4 - 0x1d0], ecx
cmp edx, 0xffffffff
je 0x1012b496
mov ecx, dword [ebp - 0x1d4]
jmp 0x1012b459
mov dword [ebp - 0x1d4], esi
mov ebx, 0x434
lea eax, [ebp - 0x570]
sub ebx, dword [ebp - 0x74c]
mov edi, ebx
shr edi, 5
mov esi, edi
shl esi, 2
push esi
push 0
push eax
call fcn.100fea60
and ebx, 0x1f
xor eax, eax
inc eax
mov ecx, ebx
shl eax, cl
mov dword [ebp + esi - 0x570], eax
lea eax, [edi + 1]
mov esi, 0x1cc
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x3a4], eax
shl eax, 2
push eax
lea eax, [ebp - 0x570]
push eax
lea eax, [ebp - 0x3a0]
push esi
push eax
call fcn.10109942
xor ebx, ebx
add esp, 0x1c
inc ebx
mov eax, dword [ebp - 0x784]
xor edx, edx
push 0xa
pop ecx
mov dword [ebp - 0x750], ecx
test eax, eax
js 0x1012ba30
div ecx
mov dword [ebp - 0x754], eax
test eax, eax
je 0x1012b938
cmp eax, 0x26
jbe 0x1012b534
push 0x26
pop eax
movzx ecx, byte [eax*4 + 0x101618c6]
movzx esi, byte [eax*4 + 0x101618c7]
mov edi, ecx
mov dword [ebp - 0x768], eax
shl edi, 2
push edi
lea eax, [ecx + esi]
mov dword [ebp - 0x574], eax
lea eax, [ebp - 0x570]
push 0
push eax
call fcn.100fea60
mov eax, esi
shl eax, 2
push eax
mov eax, dword [ebp - 0x768]
movzx eax, word [eax*4 + 0x101618c4]
lea eax, [eax*4 + 0x10160fc0]
push eax
lea eax, [ebp - 0x570]
add eax, edi
push eax
call fcn.100fe470
mov edx, dword [ebp - 0x574]
add esp, 0x18
mov dword [ebp - 0x780], edx
cmp edx, ebx
ja 0x1012b674
mov edi, dword [ebp - 0x570]
test edi, edi
jne 0x1012b5e8
xor eax, eax
push eax
mov dword [ebp - 0x744], eax
mov dword [ebp - 0x3a4], eax
lea eax, [ebp - 0x740]
push eax
lea eax, [ebp - 0x3a0]
push 0x1cc
push eax
call fcn.10109942
add esp, 0x10
mov al, bl
mov esi, 0x1cc
jmp 0x1012b915
cmp edi, ebx
je 0x1012b5dc
cmp dword [ebp - 0x3a4], 0
je 0x1012b5dc
mov eax, dword [ebp - 0x3a4]
xor ecx, ecx
mov dword [ebp - 0x770], eax
xor esi, esi
mov eax, edi
mul dword [ebp + esi*4 - 0x3a0]
add eax, ecx
mov dword [ebp + esi*4 - 0x3a0], eax
adc edx, 0
inc esi
mov ecx, edx
cmp esi, dword [ebp - 0x770]
jne 0x1012b605
test ecx, ecx
je 0x1012b5dc
mov eax, dword [ebp - 0x3a4]
cmp eax, 0x73
jae 0x1012b643
mov dword [ebp + eax*4 - 0x3a0], ecx
inc dword [ebp - 0x3a4]
jmp 0x1012b5dc
xor eax, eax
push eax
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x3a4], eax
lea eax, [ebp - 0x570]
push eax
lea eax, [ebp - 0x3a0]
push 0x1cc
push eax
call fcn.10109942
add esp, 0x10
xor al, al
jmp 0x1012b5de
cmp dword [ebp - 0x3a4], ebx
ja 0x1012b75a
mov edi, dword [ebp - 0x3a0]
mov eax, edx
shl eax, 2
mov esi, 0x1cc
push eax
lea eax, [ebp - 0x570]
mov dword [ebp - 0x770], edi
push eax
lea eax, [ebp - 0x3a0]
mov dword [ebp - 0x3a4], edx
push esi
push eax
call fcn.10109942
add esp, 0x10
test edi, edi
jne 0x1012b6d2
xor eax, eax
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x3a4], eax
push eax
lea eax, [ebp - 0x570]
jmp 0x1012b902
cmp edi, ebx
je 0x1012b913
cmp dword [ebp - 0x3a4], 0
je 0x1012b913
mov eax, dword [ebp - 0x3a4]
xor ecx, ecx
mov dword [ebp - 0x76c], eax
xor edi, edi
mov eax, dword [ebp - 0x770]
mul dword [ebp + edi*4 - 0x3a0]
add eax, ecx
mov dword [ebp + edi*4 - 0x3a0], eax
adc edx, 0
inc edi
mov ecx, edx
cmp edi, dword [ebp - 0x76c]
jne 0x1012b6f7
test ecx, ecx
je 0x1012b913
mov eax, dword [ebp - 0x3a4]
cmp eax, 0x73
jae 0x1012b740
mov dword [ebp + eax*4 - 0x3a0], ecx
inc dword [ebp - 0x3a4]
jmp 0x1012b913
xor eax, eax
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x3a4], eax
push eax
lea eax, [ebp - 0x570]
jmp 0x1012b986
cmp edx, dword [ebp - 0x3a4]
lea esi, [ebp - 0x570]
setb al
jb 0x1012b771
lea esi, [ebp - 0x3a0]
mov dword [ebp - 0x764], esi
test al, al
je 0x1012b797
mov ecx, edx
mov dword [ebp - 0x76c], edx
mov edx, dword [ebp - 0x3a4]
lea eax, [ebp - 0x3a0]
mov dword [ebp - 0x780], edx
jmp 0x1012b7a9
mov ecx, dword [ebp - 0x3a4]
lea eax, [ebp - 0x570]
mov dword [ebp - 0x76c], ecx
mov dword [ebp - 0x758], eax
xor edi, edi
xor eax, eax
mov dword [ebp - 0x744], eax
test ecx, ecx
je 0x1012b8ed
cmp dword [esi + edi*4], 0
jne 0x1012b7e5
cmp edi, eax
jne 0x1012b8e4
and dword [ebp + edi*4 - 0x740], 0
lea eax, [edi + 1]
mov dword [ebp - 0x744], eax
jmp 0x1012b8e4
and dword [ebp - 0x748], 0
mov esi, edi
and dword [ebp - 0x74c], 0
test edx, edx
je 0x1012b8cf
cmp esi, 0x73
je 0x1012b86d
mov edx, dword [ebp - 0x74c]
mov ecx, esi
shl ecx, 2
cmp esi, eax
jne 0x1012b824
and dword [ebp + ecx - 0x740], 0
lea eax, [edx + 1]
add eax, edi
mov dword [ebp - 0x744], eax
mov eax, dword [ebp - 0x758]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x764]
mul dword [edx + edi*4]
add eax, dword [ebp - 0x748]
adc edx, 0
add dword [ebp + ecx - 0x740], eax
mov ecx, dword [ebp - 0x74c]
mov eax, dword [ebp - 0x744]
adc edx, 0
inc ecx
mov dword [ebp - 0x748], edx
mov edx, dword [ebp - 0x780]
inc esi
mov dword [ebp - 0x74c], ecx
cmp ecx, edx
jne 0x1012b7fd
cmp dword [ebp - 0x748], 0
je 0x1012b8cf
lea ecx, [ebp - 0x740]
lea ecx, [ecx + esi*4]
mov dword [ebp - 0x74c], ecx
cmp esi, 0x73
je 0x1012b96c
lea ecx, [esi + 1]
cmp esi, eax
mov eax, dword [ebp - 0x74c]
mov esi, ecx
jne 0x1012b8a6
and dword [eax], 0
mov dword [ebp - 0x744], ecx
mov ecx, eax
add eax, 4
mov dword [ebp - 0x74c], eax
mov eax, dword [ebp - 0x748]
and dword [ebp - 0x748], 0
add dword [ecx], eax
mov eax, dword [ebp - 0x744]
adc dword [ebp - 0x748], 0
jne 0x1012b885
cmp esi, 0x73
je 0x1012b96c
mov ecx, dword [ebp - 0x76c]
mov esi, dword [ebp - 0x764]
inc edi
cmp edi, ecx
jne 0x1012b7c1
mov dword [ebp - 0x3a4], eax
mov esi, 0x1cc
shl eax, 2
push eax
lea eax, [ebp - 0x740]
push eax
lea eax, [ebp - 0x3a0]
push esi
push eax
call fcn.10109942
add esp, 0x10
mov al, bl
test al, al
je 0x1012b99e
mov eax, dword [ebp - 0x754]
sub eax, dword [ebp - 0x768]
mov dword [ebp - 0x754], eax
jne 0x1012b52c
push 0xa
pop ecx
mov eax, dword [ebp - 0x784]
xor edx, edx
div ecx
test edx, edx
je 0x1012bf38
mov eax, dword [edx*4 + 0x1016195c]
mov dword [ebp - 0x770], eax
test eax, eax
jne 0x1012b9c0
xor eax, eax
mov dword [ebp - 0x974], eax
mov dword [ebp - 0x3a4], eax
push eax
jmp 0x1012b9ae
xor eax, eax
mov esi, 0x1cc
mov dword [ebp - 0x974], eax
mov dword [ebp - 0x3a4], eax
push eax
lea eax, [ebp - 0x970]
push eax
lea eax, [ebp - 0x3a0]
push esi
push eax
call fcn.10109942
add esp, 0x10
xor al, al
jmp 0x1012b915
and dword [ebp - 0x974], 0
and dword [ebp - 0x3a4], 0
push 0
lea eax, [ebp - 0x970]
push eax
lea eax, [ebp - 0x3a0]
jmp 0x1012bf2e
cmp eax, ebx
je 0x1012bf38
mov ecx, dword [ebp - 0x3a4]
test ecx, ecx
je 0x1012bf38
and dword [ebp - 0x754], 0
xor edi, edi
mul dword [ebp + edi*4 - 0x3a0]
add eax, dword [ebp - 0x754]
mov dword [ebp + edi*4 - 0x3a0], eax
mov eax, dword [ebp - 0x770]
adc edx, 0
inc edi
mov dword [ebp - 0x754], edx
cmp edi, ecx
jne 0x1012b9df
test edx, edx
je 0x1012bf38
mov eax, dword [ebp - 0x3a4]
cmp eax, 0x73
jae 0x1012b95b
mov dword [ebp + eax*4 - 0x3a0], edx
inc dword [ebp - 0x3a4]
jmp 0x1012bf38
neg eax
mov dword [ebp - 0x778], eax
div ecx
mov dword [ebp - 0x770], eax
test eax, eax
je 0x1012be3e
cmp eax, 0x26
jbe 0x1012ba50
push 0x26
pop eax
movzx ecx, byte [eax*4 + 0x101618c6]
movzx esi, byte [eax*4 + 0x101618c7]
mov edi, ecx
mov dword [ebp - 0x758], eax
shl edi, 2
push edi
lea eax, [ecx + esi]
mov dword [ebp - 0x574], eax
lea eax, [ebp - 0x570]
push 0
push eax
call fcn.100fea60
mov eax, esi
shl eax, 2
push eax
mov eax, dword [ebp - 0x758]
movzx eax, word [eax*4 + 0x101618c4]
lea eax, [eax*4 + 0x10160fc0]
push eax
lea eax, [ebp - 0x570]
add eax, edi
push eax
call fcn.100fe470
mov edx, dword [ebp - 0x574]
add esp, 0x18
mov dword [ebp - 0x76c], edx
cmp edx, ebx
ja 0x1012bb90
mov edi, dword [ebp - 0x570]
test edi, edi
jne 0x1012bb04
xor eax, eax
push eax
mov dword [ebp - 0x974], eax
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x970]
push eax
lea eax, [ebp - 0x1d0]
push 0x1cc
push eax
call fcn.10109942
add esp, 0x10
mov al, bl
mov esi, 0x1cc
jmp 0x1012be1b
cmp edi, ebx
je 0x1012baf8
cmp dword [ebp - 0x1d4], 0
je 0x1012baf8
mov eax, dword [ebp - 0x1d4]
xor ecx, ecx
mov dword [ebp - 0x754], eax
xor esi, esi
mov eax, edi
mul dword [ebp + esi*4 - 0x1d0]
add eax, ecx
mov dword [ebp + esi*4 - 0x1d0], eax
adc edx, 0
inc esi
mov ecx, edx
cmp esi, dword [ebp - 0x754]
jne 0x1012bb21
test ecx, ecx
je 0x1012baf8
mov eax, dword [ebp - 0x1d4]
cmp eax, 0x73
jae 0x1012bb5f
mov dword [ebp + eax*4 - 0x1d0], ecx
inc dword [ebp - 0x1d4]
jmp 0x1012baf8
xor eax, eax
push eax
mov dword [ebp - 0x974], eax
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x970]
push eax
lea eax, [ebp - 0x1d0]
push 0x1cc
push eax
call fcn.10109942
add esp, 0x10
xor al, al
jmp 0x1012bafa
cmp dword [ebp - 0x1d4], ebx
ja 0x1012bc60
mov edi, dword [ebp - 0x1d0]
mov eax, edx
shl eax, 2
mov esi, 0x1cc
push eax
lea eax, [ebp - 0x570]
mov dword [ebp - 0x754], edi
push eax
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x1d4], edx
push esi
push eax
call fcn.10109942
add esp, 0x10
test edi, edi
jne 0x1012bbee
xor eax, eax
mov dword [ebp - 0x974], eax
mov dword [ebp - 0x1d4], eax
push eax
lea eax, [ebp - 0x970]
jmp 0x1012be08
cmp edi, ebx
je 0x1012be19
cmp dword [ebp - 0x1d4], 0
je 0x1012be19
mov eax, dword [ebp - 0x1d4]
xor ecx, ecx
mov dword [ebp - 0x76c], eax
xor edi, edi
mov eax, dword [ebp - 0x754]
mul dword [ebp + edi*4 - 0x1d0]
add eax, ecx
mov dword [ebp + edi*4 - 0x1d0], eax
adc edx, 0
inc edi
mov ecx, edx
cmp edi, dword [ebp - 0x76c]
jne 0x1012bc13
test ecx, ecx
je 0x1012be19
mov eax, dword [ebp - 0x1d4]
cmp eax, 0x73
jae 0x1012bed3
mov dword [ebp + eax*4 - 0x1d0], ecx
inc dword [ebp - 0x1d4]
jmp 0x1012be19
cmp edx, dword [ebp - 0x1d4]
lea esi, [ebp - 0x570]
setb al
jb 0x1012bc77
lea esi, [ebp - 0x1d0]
mov dword [ebp - 0x764], esi
test al, al
je 0x1012bc9d
mov ecx, edx
mov dword [ebp - 0x780], edx
mov edx, dword [ebp - 0x1d4]
lea eax, [ebp - 0x1d0]
mov dword [ebp - 0x76c], edx
jmp 0x1012bcaf
mov ecx, dword [ebp - 0x1d4]
lea eax, [ebp - 0x570]
mov dword [ebp - 0x780], ecx
mov dword [ebp - 0x754], eax
xor edi, edi
xor eax, eax
mov dword [ebp - 0x744], eax
test ecx, ecx
je 0x1012bdf3
cmp dword [esi + edi*4], 0
jne 0x1012bceb
cmp edi, eax
jne 0x1012bdea
and dword [ebp + edi*4 - 0x740], 0
lea eax, [edi + 1]
mov dword [ebp - 0x744], eax
jmp 0x1012bdea
and dword [ebp - 0x748], 0
mov esi, edi
and dword [ebp - 0x74c], 0
test edx, edx
je 0x1012bdd5
cmp esi, 0x73
je 0x1012bd73
mov edx, dword [ebp - 0x74c]
mov ecx, esi
shl ecx, 2
cmp esi, eax
jne 0x1012bd2a
and dword [ebp + ecx - 0x740], 0
lea eax, [edx + 1]
add eax, edi
mov dword [ebp - 0x744], eax
mov eax, dword [ebp - 0x754]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x764]
mul dword [edx + edi*4]
add eax, dword [ebp - 0x748]
adc edx, 0
add dword [ebp + ecx - 0x740], eax
mov ecx, dword [ebp - 0x74c]
mov eax, dword [ebp - 0x744]
adc edx, 0
inc ecx
mov dword [ebp - 0x748], edx
mov edx, dword [ebp - 0x76c]
inc esi
mov dword [ebp - 0x74c], ecx
cmp ecx, edx
jne 0x1012bd03
cmp dword [ebp - 0x748], 0
je 0x1012bdd5
lea ecx, [ebp - 0x740]
lea ecx, [ecx + esi*4]
mov dword [ebp - 0x768], ecx
cmp esi, 0x73
je 0x1012bece
lea ecx, [esi + 1]
cmp esi, eax
mov eax, dword [ebp - 0x768]
mov esi, ecx
jne 0x1012bdac
and dword [eax], 0
mov dword [ebp - 0x744], ecx
mov ecx, eax
add eax, 4
mov dword [ebp - 0x768], eax
mov eax, dword [ebp - 0x748]
and dword [ebp - 0x748], 0
add dword [ecx], eax
mov eax, dword [ebp - 0x744]
adc dword [ebp - 0x748], 0
jne 0x1012bd8b
cmp esi, 0x73
je 0x1012bece
mov ecx, dword [ebp - 0x780]
mov esi, dword [ebp - 0x764]
inc edi
cmp edi, ecx
jne 0x1012bcc7
mov dword [ebp - 0x1d4], eax
mov esi, 0x1cc
shl eax, 2
push eax
lea eax, [ebp - 0x740]
push eax
lea eax, [ebp - 0x1d0]
push esi
push eax
call fcn.10109942
add esp, 0x10
mov al, bl
test al, al
je 0x1012bf00
mov eax, dword [ebp - 0x770]
sub eax, dword [ebp - 0x758]
mov dword [ebp - 0x770], eax
jne 0x1012ba48
push 0xa
pop ecx
mov eax, dword [ebp - 0x778]
xor edx, edx
div ecx
test edx, edx
je 0x1012bf38
mov eax, dword [edx*4 + 0x1016195c]
mov dword [ebp - 0x778], eax
test eax, eax
je 0x1012bf12
cmp eax, ebx
je 0x1012bf38
mov ecx, dword [ebp - 0x1d4]
test ecx, ecx
je 0x1012bf38
and dword [ebp - 0x770], 0
xor edi, edi
mul dword [ebp + edi*4 - 0x1d0]
add eax, dword [ebp - 0x770]
mov dword [ebp + edi*4 - 0x1d0], eax
mov eax, dword [ebp - 0x778]
adc edx, 0
inc edi
mov dword [ebp - 0x770], edx
cmp edi, ecx
jne 0x1012be84
test edx, edx
je 0x1012bf38
mov eax, dword [ebp - 0x1d4]
cmp eax, 0x73
jae 0x1012bf12
mov dword [ebp + eax*4 - 0x1d0], edx
inc dword [ebp - 0x1d4]
jmp 0x1012bf38
mov esi, 0x1cc
xor eax, eax
push eax
mov dword [ebp - 0x974], eax
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x970]
push eax
lea eax, [ebp - 0x1d0]
push esi
push eax
call fcn.10109942
add esp, 0x10
xor al, al
jmp 0x1012be1b
and dword [ebp - 0x974], 0
and dword [ebp - 0x1d4], 0
push 0
jmp 0x1012bf21
xor eax, eax
push eax
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x974], eax
lea eax, [ebp - 0x970]
push eax
lea eax, [ebp - 0x1d0]
push esi
push eax
call fcn.10109942
add esp, 0x10
mov ecx, dword [ebp - 0x1d4]
mov edi, dword [ebp - 0x760]
mov dword [ebp - 0x748], edi
test ecx, ecx
je 0x1012bfc8
and dword [ebp - 0x770], 0
xor edi, edi
mov eax, dword [ebp + edi*4 - 0x1d0]
push 0xa
pop edx
mul edx
add eax, dword [ebp - 0x770]
mov dword [ebp + edi*4 - 0x1d0], eax
adc edx, 0
inc edi
mov dword [ebp - 0x770], edx
cmp edi, ecx
jne 0x1012bf57
mov edi, dword [ebp - 0x748]
test edx, edx
je 0x1012bfc8
mov eax, dword [ebp - 0x1d4]
cmp eax, 0x73
jae 0x1012bfa2
mov dword [ebp + eax*4 - 0x1d0], edx
inc dword [ebp - 0x1d4]
jmp 0x1012bfc8
xor eax, eax
push eax
mov dword [ebp - 0x974], eax
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x970]
push eax
lea eax, [ebp - 0x1d0]
push esi
push eax
call fcn.10109942
add esp, 0x10
lea eax, [ebp - 0x3a4]
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.101113c0
pop ecx
pop ecx
mov ecx, dword [ebp - 0x760]
push 0xa
pop edx
cmp eax, edx
jne 0x1012c152
mov eax, dword [ebp - 0x3a4]
lea edi, [ecx + 1]
inc dword [ebp - 0x784]
mov byte [ecx], 0x31
mov dword [ebp - 0x748], edi
mov dword [ebp - 0x778], eax
test eax, eax
je 0x1012c06f
xor edi, edi
xor ecx, ecx
mov eax, dword [ebp + ecx*4 - 0x3a0]
mul edx
push 0xa
add eax, edi
mov dword [ebp + ecx*4 - 0x3a0], eax
adc edx, 0
inc ecx
mov edi, edx
pop edx
cmp ecx, dword [ebp - 0x778]
jne 0x1012c014
mov dword [ebp - 0x778], edi
test edi, edi
mov edi, dword [ebp - 0x748]
je 0x1012c069
mov ecx, dword [ebp - 0x3a4]
cmp ecx, 0x73
jae 0x1012c127
mov eax, dword [ebp - 0x778]
mov dword [ebp + ecx*4 - 0x3a0], eax
inc dword [ebp - 0x3a4]
mov ecx, dword [ebp - 0x760]
mov edx, dword [ebp - 0x78c]
mov eax, dword [ebp - 0x784]
mov dword [edx + 4], eax
mov edx, dword [ebp - 0x788]
test eax, eax
js 0x1012c098
cmp edx, 0x7fffffff
ja 0x1012c098
cmp dword [ebp + 0x14], 0
jne 0x1012c098
add edx, eax
mov eax, dword [ebp + 0x20]
dec eax
cmp eax, edx
jb 0x1012c0a2
mov eax, edx
add eax, ecx
xor dl, dl
mov dword [ebp - 0x754], eax
mov byte [ebp - 0x759], dl
cmp edi, eax
je 0x1012c242
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x778], eax
test eax, eax
je 0x1012c242
xor edi, edi
xor ecx, ecx
mov eax, dword [ebp + ecx*4 - 0x1d0]
mov edx, 0x3b9aca00
mul edx
add eax, edi
mov dword [ebp + ecx*4 - 0x1d0], eax
adc edx, 0
inc ecx
mov edi, edx
cmp ecx, dword [ebp - 0x778]
jne 0x1012c0d2
mov dword [ebp - 0x778], edi
test edi, edi
mov edi, dword [ebp - 0x748]
je 0x1012c199
mov ecx, dword [ebp - 0x1d4]
cmp ecx, 0x73
jae 0x1012c173
mov eax, edx
mov dword [ebp + ecx*4 - 0x1d0], eax
inc dword [ebp - 0x1d4]
jmp 0x1012c199
xor eax, eax
push eax
mov dword [ebp - 0x974], eax
mov dword [ebp - 0x3a4], eax
lea eax, [ebp - 0x970]
push eax
lea eax, [ebp - 0x3a0]
push esi
push eax
call fcn.10109942
add esp, 0x10
jmp 0x1012c069
test eax, eax
jne 0x1012c161
dec dword [ebp - 0x784]
jmp 0x1012c06f
add al, 0x30
lea edi, [ecx + 1]
mov byte [ecx], al
mov dword [ebp - 0x748], edi
jmp 0x1012c06f
xor eax, eax
push eax
mov dword [ebp - 0x974], eax
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x970]
push eax
lea eax, [ebp - 0x1d0]
push esi
push eax
call fcn.10109942
add esp, 0x10
lea eax, [ebp - 0x3a4]
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.101113c0
pop ecx
pop ecx
mov ecx, dword [ebp - 0x754]
mov dword [ebp - 0x758], eax
sub ecx, edi
mov dword [ebp - 0x770], 8
xor edx, edx
div dword [ebp - 0x750]
mov eax, edx
xor edx, edx
add al, 0x30
mov dword [ebp - 0x788], eax
mov eax, dword [ebp - 0x758]
div dword [ebp - 0x750]
mov edx, dword [ebp - 0x788]
mov dword [ebp - 0x758], eax
mov eax, dword [ebp - 0x770]
cmp ecx, eax
ja 0x1012c20b
cmp dl, 0x30
je 0x1012c20e
mov dl, bl
mov byte [ebp - 0x759], dl
jmp 0x1012c214
mov byte [eax + edi], dl
mov dl, byte [ebp - 0x759]
dec eax
mov dword [ebp - 0x770], eax
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x758]
jne 0x1012c1c6
cmp ecx, 9
jbe 0x1012c22e
push 9
pop ecx
add edi, ecx
mov dword [ebp - 0x748], edi
cmp edi, dword [ebp - 0x754]
jne 0x1012c0ba
mov byte [edi], 0
cmp dword [ebp - 0x1d4], 0
jne 0x1012c252
test dl, dl
je 0x1012c254
xor ebx, ebx
push dword [ebp - 0x790]
lea eax, [ebp - 0x778]
push dword [ebp - 0x794]
push eax
call fcn.1012da9c
add esp, 0xc
cmp byte [ebp - 0x798], 0
pop edi
pop esi
je 0x1012c287
lea eax, [ebp - 0x7a0]
push eax
call fcn.1012db18
pop ecx
mov ecx, dword [ebp - 4]
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.100fc8a1
leave
ret
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call fcn.10109d7c
int3