Function at 0x1000fe90
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x1011b500
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x1016b2e8]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1016b2e8]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov eax, dword [esp + 0x8c]
mov ebp, dword [esp + 0x88]
mov ebx, ecx
mov edi, edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], eax
call fcn.10006310
lea esi, [esp + 0x58]
mov ecx, eax
mov dword [esp + 0x34], eax
call fcn.10006180
mov edi, dword [esp + 0x30]
mov esi, ebp
mov dword [esp + 0x80], 0
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x23], 0
call fcn.100112e0
test al, al
jne 0x1000ff76
cmp byte [ebp + 4], al
jne 0x1000ff52
mov ecx, dword [ebp]
test ecx, ecx
je 0x1000ff47
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x1000ff36
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x1000ff36
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x1000ff3d
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp eax, 0xffffffff
je 0x1000ff47
mov byte [ebp + 5], al
jmp 0x1000ff4e
mov dword [ebp], 0
mov byte [ebp + 4], 1
cmp byte [ebp + 5], 0x2b
mov esi, ebp
jne 0x1000ff5f
mov byte [ebx], 0x2b
jmp 0x1000ff6c
call fcn.10010bc0
cmp al, 0x2d
jne 0x1000ff76
mov byte [ebx], al
mov esi, ebp
inc ebx
mov dword [esp + 0x1c], ebx
call fcn.10010c10
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x5c]
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov byte [esp + 0x1b], 0
mov eax, edx
cmp ecx, 0x10
jae 0x1000ff98
lea eax, [esp + 0x5c]
cmp byte [eax], 0x7f
je 0x10010234
mov eax, edx
cmp ecx, 0x10
jae 0x1000ffac
lea eax, [esp + 0x5c]
cmp byte [eax], 0
jle 0x10010234
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
call edx
mov byte [esp + 0x2f], al
mov dword [esp + 0x54], 0xf
mov byte [esp + 0x40], 0
mov dword [esp + 0x50], 1
mov byte [esp + 0x41], 0
mov edi, dword [esp + 0x30]
mov esi, ebp
mov byte [esp + 0x80], 1
xor ebx, ebx
call fcn.100112e0
test al, al
jne 0x10010190
cmp byte [ebp + 4], 0
jne 0x1001003b
mov ecx, dword [ebp]
test ecx, ecx
je 0x10010030
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x1001001f
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x1001001f
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x10010026
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp eax, 0xffffffff
je 0x10010030
mov byte [ebp + 5], al
jmp 0x10010037
mov dword [ebp], 0
mov byte [ebp + 4], 1
cmp byte [ebp + 5], 0x30
jl 0x10010107
cmp byte [ebp + 4], 0
jne 0x10010085
mov ecx, dword [ebp]
test ecx, ecx
je 0x1001007a
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x10010069
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x10010069
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x10010070
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
cmp eax, 0xffffffff
je 0x1001007a
mov byte [ebp + 5], al
jmp 0x10010081
mov dword [ebp], 0
mov byte [ebp + 4], 1
cmp byte [ebp + 5], 0x39
jg 0x10010107
mov edi, dword [esp + 0x24]
cmp edi, 0x24
mov byte [esp + 0x1b], 1
jl 0x1001009f
inc dword [esp + 0x28]
jmp 0x100100c5
mov esi, ebp
call fcn.10010bc0
cmp al, 0x30
jne 0x100100ae
test edi, edi
je 0x100100c5
mov esi, ebp
call fcn.10010bc0
mov ecx, dword [esp + 0x1c]
mov byte [ecx], al
inc ecx
inc edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], edi
cmp ebx, dword [esp + 0x50]
jbe 0x100100d0
call fcn.10061d20
mov eax, dword [esp + 0x40]
mov esi, 0x10
cmp dword [esp + 0x54], esi
jae 0x100100e3
lea eax, [esp + 0x40]
cmp byte [eax + ebx], 0x7f
je 0x1001014c
cmp ebx, dword [esp + 0x50]
jbe 0x100100f4
call fcn.10061d20
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x54], esi
jae 0x10010102
lea eax, [esp + 0x40]
inc byte [eax + ebx]
jmp 0x1001014c
cmp ebx, dword [esp + 0x50]
jbe 0x10010112
call fcn.10061d20
cmp dword [esp + 0x54], 0x10
mov eax, dword [esp + 0x40]
jae 0x10010121
lea eax, [esp + 0x40]
cmp byte [eax + ebx], 0
je 0x10010164
cmp byte [esp + 0x2f], 0
je 0x10010164
mov esi, ebp
call fcn.10010bc0
cmp al, byte [esp + 0x2f]
jne 0x10010164
push 0
mov eax, 1
lea edi, [esp + 0x40]
call fcn.100041e0
inc ebx
mov esi, ebp
call fcn.10010c10
mov edi, dword [esp + 0x30]
call fcn.100112e0
test al, al
je 0x1000fffb
test ebx, ebx
je 0x10010190
cmp ebx, dword [esp + 0x50]
jbe 0x10010173
call fcn.10061d20
cmp dword [esp + 0x54], 0x10
mov eax, dword [esp + 0x40]
jae 0x10010182
lea eax, [esp + 0x40]
cmp byte [eax + ebx], 0
jle 0x1001018b
inc ebx
jmp 0x10010190
mov byte [esp + 0x23], 1
mov esi, dword [esp + 0x5c]
mov edi, 0x10
cmp dword [esp + 0x70], edi
jae 0x100101a3
lea esi, [esp + 0x5c]
cmp byte [esp + 0x23], 0
jne 0x10010210
lea ebx, [ebx]
test ebx, ebx
jbe 0x10010210
cmp byte [esi], 0x7f
je 0x10010210
sub ebx, 1
je 0x100101de
cmp ebx, dword [esp + 0x50]
jbe 0x100101c9
call fcn.10061d20
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x54], edi
jae 0x100101d7
lea eax, [esp + 0x40]
mov cl, byte [esi]
cmp cl, byte [eax + ebx]
jne 0x1001020b
test ebx, ebx
jne 0x10010202
cmp ebx, dword [esp + 0x50]
jbe 0x100101ed
call fcn.10061d20
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x54], edi
jae 0x100101fb
lea eax, [esp + 0x40]
mov dl, byte [esi]
cmp dl, byte [eax + ebx]
jl 0x1001020b
cmp byte [esi + 1], 0
jle 0x100101b0
inc esi
jmp 0x100101b0
mov byte [esp + 0x23], 1
mov byte [esp + 0x80], 0
cmp dword [esp + 0x54], edi
jb 0x100103a6
mov eax, dword [esp + 0x40]
push eax
call fcn.100618cf
add esp, 4
jmp 0x100103a6
mov esi, ebp
call fcn.100112e0
test al, al
jne 0x100103c1
mov ebx, dword [esp + 0x24]
cmp byte [ebp + 4], 0
jne 0x10010287
mov ecx, dword [ebp]
test ecx, ecx
je 0x1001027c
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x1001026b
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x1001026b
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x10010272
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x1001027c
mov byte [ebp + 5], al
jmp 0x10010283
mov dword [ebp], 0
mov byte [ebp + 4], 1
cmp byte [ebp + 5], 0x30
jl 0x100103a2
cmp byte [ebp + 4], 0
jne 0x100102d1
mov ecx, dword [ebp]
test ecx, ecx
je 0x100102c6
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x100102b5
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x100102b5
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x100102bc
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x100102c6
mov byte [ebp + 5], al
jmp 0x100102cd
mov dword [ebp], 0
mov byte [ebp + 4], 1
cmp byte [ebp + 5], 0x39
jg 0x100103a2
cmp ebx, 0x24
jl 0x100102e6
inc dword [esp + 0x28]
jmp 0x10010343
cmp byte [ebp + 4], 0
jne 0x10010326
mov ecx, dword [ebp]
test ecx, ecx
je 0x1001031b
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x1001030a
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x1001030a
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x10010311
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x1001031b
mov byte [ebp + 5], al
jmp 0x10010322
mov dword [ebp], 0
mov byte [ebp + 4], 1
cmp byte [ebp + 5], 0x30
jne 0x10010330
test ebx, ebx
je 0x10010343
mov esi, ebp
call fcn.10010bc0
mov ecx, dword [esp + 0x1c]
mov byte [ecx], al
inc ecx
mov dword [esp + 0x1c], ecx
inc ebx
mov ecx, dword [ebp]
mov byte [esp + 0x1b], 1
test ecx, ecx
je 0x10010382
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x10010370
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x10010370
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x10010377
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x10010382
mov byte [ebp + 4], 0
jmp 0x1001038d
mov dword [ebp], 0
mov byte [ebp + 4], 1
mov esi, ebp
call fcn.100112e0
test al, al
je 0x10010247
mov dword [esp + 0x24], ebx
jmp 0x100103b1
mov dword [esp + 0x24], ebx
cmp byte [esp + 0x1b], 0
je 0x100103c1
mov ebx, dword [esp + 0x24]
test ebx, ebx
jne 0x100103c1
mov eax, dword [esp + 0x1c]
mov byte [eax], 0x30
inc eax
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x30]
mov esi, ebp
call fcn.100112e0
test al, al
jne 0x10010480
cmp byte [ebp + 4], al
jne 0x10010413
mov ecx, dword [ebp]
test ecx, ecx
je 0x10010408
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x100103f7
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x100103f7
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x100103fe
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x10010408
mov byte [ebp + 5], al
jmp 0x1001040f
mov dword [ebp], 0
mov byte [ebp + 4], 1
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov bl, byte [ebp + 5]
call eax
cmp bl, al
jne 0x10010480
call fcn.10061dcb
mov ecx, dword [eax]
mov eax, dword [esp + 0x1c]
mov dl, byte [ecx]
mov byte [eax], dl
mov ecx, dword [ebp]
inc eax
mov dword [esp + 0x1c], eax
test ecx, ecx
je 0x10010475
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x10010463
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x10010463
mov eax, edx
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x1001046a
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x10010475
mov byte [ebp + 4], 0
jmp 0x10010480
mov dword [ebp], 0
mov byte [ebp + 4], 1
mov ebx, dword [esp + 0x24]
test ebx, ebx
jne 0x10010555
mov esi, ebp
call fcn.100112e0
test al, al
jne 0x1001053e
cmp byte [ebp + 4], 0
jne 0x100104db
mov ecx, dword [ebp]
test ecx, ecx
je 0x100104d0
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x100104bf
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x100104bf
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x100104c6
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x100104d0
mov byte [ebp + 5], al
jmp 0x100104d7
mov dword [ebp], 0
mov byte [ebp + 4], 1
cmp byte [ebp + 5], 0x30
jne 0x1001053e
mov ecx, dword [ebp]
dec dword [esp + 0x28]
mov byte [esp + 0x1b], 1
test ecx, ecx
je 0x10010524
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x10010512
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x10010512
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x10010519
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x10010524
mov byte [ebp + 4], 0
jmp 0x1001052f
mov dword [ebp], 0
mov byte [ebp + 4], 1
mov esi, ebp
call fcn.100112e0
test al, al
je 0x1001049b
cmp dword [esp + 0x28], 0
jge 0x10010555
mov eax, dword [esp + 0x1c]
mov byte [eax], 0x30
inc eax
inc dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov esi, ebp
call fcn.100112e0
test al, al
jne 0x100106a7
cmp byte [ebp + 4], 0
jne 0x100105a4
mov ecx, dword [ebp]
test ecx, ecx
je 0x10010599
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x10010588
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x10010588
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x1001058f
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x10010599
mov byte [ebp + 5], al
jmp 0x100105a0
mov dword [ebp], 0
mov byte [ebp + 4], 1
cmp byte [ebp + 5], 0x30
jl 0x100106a7
cmp byte [ebp + 4], 0
jne 0x100105ee
mov ecx, dword [ebp]
test ecx, ecx
je 0x100105e3
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x100105d2
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x100105d2
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x100105d9
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x100105e3
mov byte [ebp + 5], al
jmp 0x100105ea
mov dword [ebp], 0
mov byte [ebp + 4], 1
cmp byte [ebp + 5], 0x39
jg 0x100106a7
cmp ebx, 0x24
jge 0x1001064c
cmp byte [ebp + 4], 0
jne 0x1001063d
mov ecx, dword [ebp]
test ecx, ecx
je 0x10010632
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x10010621
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x10010621
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x10010628
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x10010632
mov byte [ebp + 5], al
jmp 0x10010639
mov dword [ebp], 0
mov byte [ebp + 4], 1
mov eax, dword [esp + 0x1c]
mov cl, byte [ebp + 5]
mov byte [eax], cl
inc eax
mov dword [esp + 0x1c], eax
inc ebx
mov ecx, dword [ebp]
mov byte [esp + 0x1b], 1
test ecx, ecx
je 0x1001068b
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x10010679
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x10010679
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x10010680
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x1001068b
mov byte [ebp + 4], 0
jmp 0x10010696
mov dword [ebp], 0
mov byte [ebp + 4], 1
mov esi, ebp
call fcn.100112e0
test al, al
je 0x10010564
jmp 0x100106b2
cmp byte [esp + 0x1b], 0
je 0x10010ab2
mov esi, ebp
call fcn.100112e0
test al, al
jne 0x10010ab2
cmp byte [ebp + 4], al
jne 0x10010700
mov ecx, dword [ebp]
test ecx, ecx
je 0x100106f5
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x100106e4
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x100106e4
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x100106eb
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x100106f5
mov byte [ebp + 5], al
jmp 0x100106fc
mov dword [ebp], 0
mov byte [ebp + 4], 1
cmp byte [ebp + 5], 0x65
je 0x10010750
cmp byte [ebp + 4], 0
jne 0x10010746
mov ecx, dword [ebp]
test ecx, ecx
je 0x1001073b
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x1001072a
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x1001072a
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x10010731
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x1001073b
mov byte [ebp + 5], al
jmp 0x10010742
mov dword [ebp], 0
mov byte [ebp + 4], 1
cmp byte [ebp + 5], 0x45
jne 0x10010ab2
mov ebx, dword [esp + 0x1c]
mov byte [ebx], 0x65
mov ecx, dword [ebp]
inc ebx
mov dword [esp + 0x1c], ebx
test ecx, ecx
je 0x10010796
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x10010784
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x10010784
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x1001078b
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x10010796
mov byte [ebp + 4], 0
jmp 0x100107a1
mov dword [ebp], 0
mov byte [ebp + 4], 1
mov esi, ebp
mov byte [esp + 0x1b], 0
mov dword [esp + 0x24], 0
call fcn.100112e0
test al, al
jne 0x1001089a
cmp byte [ebp + 4], al
jne 0x100107fc
mov ecx, dword [ebp]
test ecx, ecx
je 0x100107f1
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x100107e0
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x100107e0
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x100107e7
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x100107f1
mov byte [ebp + 5], al
jmp 0x100107f8
mov dword [ebp], 0
mov byte [ebp + 4], 1
cmp byte [ebp + 5], 0x2b
jne 0x10010807
mov byte [ebx], 0x2b
jmp 0x10010850
cmp byte [ebp + 4], 0
jne 0x10010847
mov ecx, dword [ebp]
test ecx, ecx
je 0x1001083c
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x1001082b
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x1001082b
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x10010832
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x1001083c
mov byte [ebp + 5], al
jmp 0x10010843
mov dword [ebp], 0
mov byte [ebp + 4], 1
cmp byte [ebp + 5], 0x2d
jne 0x1001089a
mov byte [ebx], 0x2d
mov ecx, dword [ebp]
inc ebx
mov dword [esp + 0x1c], ebx
test ecx, ecx
je 0x1001088f
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x1001087d
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x1001087d
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x10010884
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x1001088f
mov byte [ebp + 4], 0
jmp 0x1001089a
mov byte [ebp + 4], 1
mov dword [ebp], 0
mov esi, ebp
call fcn.100112e0
test al, al
jne 0x1001095d
cmp byte [ebp + 4], 0
jne 0x100108e9
mov ecx, dword [ebp]
test ecx, ecx
je 0x100108de
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x100108cd
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x100108cd
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x100108d4
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x100108de
mov byte [ebp + 5], al
jmp 0x100108e5
mov dword [ebp], 0
mov byte [ebp + 4], 1
cmp byte [ebp + 5], 0x30
jne 0x1001094a
mov ecx, dword [ebp]
mov byte [esp + 0x1b], 1
test ecx, ecx
je 0x1001092e
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x1001091c
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x1001091c
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x10010923
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x1001092e
mov byte [ebp + 4], 0
jmp 0x10010939
mov dword [ebp], 0
mov byte [ebp + 4], 1
mov esi, ebp
call fcn.100112e0
test al, al
je 0x100108a9
jmp 0x10010951
cmp byte [esp + 0x1b], 0
je 0x1001095d
mov eax, dword [esp + 0x1c]
mov byte [eax], 0x30
inc eax
mov dword [esp + 0x1c], eax
mov esi, ebp
call fcn.100112e0
test al, al
jne 0x10010ab2
mov ebx, dword [esp + 0x1c]
cmp byte [ebp + 4], 0
jne 0x100109b0
mov ecx, dword [ebp]
test ecx, ecx
je 0x100109a5
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x10010994
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x10010994
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x1001099b
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x100109a5
mov byte [ebp + 5], al
jmp 0x100109ac
mov dword [ebp], 0
mov byte [ebp + 4], 1
cmp byte [ebp + 5], 0x30
jl 0x10010aae
cmp byte [ebp + 4], 0
jne 0x100109fa
mov ecx, dword [ebp]
test ecx, ecx
je 0x100109ef
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x100109de
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x100109de
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x100109e5
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x100109ef
mov byte [ebp + 5], al
jmp 0x100109f6
mov dword [ebp], 0
mov byte [ebp + 4], 1
cmp byte [ebp + 5], 0x39
jg 0x10010aae
cmp dword [esp + 0x24], 8
jge 0x10010a55
cmp byte [ebp + 4], 0
jne 0x10010a4b
mov ecx, dword [ebp]
test ecx, ecx
je 0x10010a40
mov eax, dword [ecx + 0x20]
cmp dword [eax], 0
je 0x10010a2f
mov edx, dword [ecx + 0x30]
cmp dword [edx], 0
jle 0x10010a2f
mov eax, dword [eax]
movzx eax, byte [eax]
jmp 0x10010a36
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp eax, 0xffffffff
je 0x10010a40
mov byte [ebp + 5], al
jmp 0x10010a47
mov dword [ebp], 0
mov byte [ebp + 4], 1
mov cl, byte [ebp + 5]
mov byte [ebx], cl
inc ebx
inc dword [esp + 0x24]
mov ecx, dword [ebp]
mov byte [esp + 0x1b], 1
test ecx, ecx
je 0x10010a94
mov edx, dword [ecx + 0x20]
cmp dword [edx], 0
je 0x10010a82
mov eax, dword [ecx + 0x30]
cmp dword [eax], 0
jle 0x10010a82
dec dword [eax]
mov ecx, dword [ecx + 0x20]
mov eax, dword [ecx]
lea edx, [eax + 1]
mov dword [ecx], edx
movzx eax, byte [eax]
jmp 0x10010a89
mov eax, dword [ecx]
mov edx, dword [eax + 0x14]
call edx
cmp eax, 0xffffffff
je 0x10010a94
mov byte [ebp + 4], 0
jmp 0x10010a9f
mov dword [ebp], 0
mov byte [ebp + 4], 1
mov esi, ebp
call fcn.100112e0
test al, al
je 0x10010970
mov dword [esp + 0x1c], ebx
cmp byte [esp + 0x23], 0
jne 0x10010ac0
cmp byte [esp + 0x1b], 0
jne 0x10010ac6
mov eax, dword [esp + 0x38]
jmp 0x10010aca
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x70], 0x10
mov byte [eax], 0
jb 0x10010ae1
mov eax, dword [esp + 0x5c]
push eax
call fcn.100618cf
add esp, 4
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.10061731
add esp, 0x70
ret