Function at 0x10067ca0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10113e44
mov eax, dword fs:[0]
push eax
sub esp, 0x684
mov eax, dword [0x1015d2f0]
xor eax, ebp
mov dword [ebp - 0x3c], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4fc], ecx
mov ecx, dword [ebp + 8]
call fcn.1006a420
mov dword [ebp - 0x500], eax
mov eax, dword [ebp - 0x500]
sub eax, 1
mov dword [ebp - 0x500], eax
cmp dword [ebp - 0x500], 9
ja case.default.0x10067d02
mov ecx, dword [ebp - 0x500]
jmp dword [ecx*4 + 0x100690d8]
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.1006cac0
movzx eax, al
test eax, eax
je 0x10067e2b
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.1006cae0
mov dword [ebp - 0x508], eax
mov dword [ebp - 0x504], edx
cmp dword [ebp - 0x504], 0
ja 0x10067d55
cmp dword [ebp - 0x508], 0x7fffffff
jbe 0x10067df6
push 0x1012721c
mov ecx, dword [ebp + 8]
call fcn.1008d060
push eax
push 0x10127220
lea edx, [ebp - 0x78]
push edx
call fcn.1000d3e0
add esp, 0xc
mov dword [ebp - 0x50c], eax
mov eax, dword [ebp - 0x50c]
mov dword [ebp - 0x510], eax
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x510]
push ecx
lea edx, [ebp - 0x94]
push edx
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x514], eax
mov eax, dword [ebp - 0x514]
mov dword [ebp - 0x518], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x518]
push ecx
mov ecx, dword [ebp - 0x4fc]
call fcn.1006cbe0
mov byte [ebp - 0x59], al
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.1002b8e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x78]
call fcn.1002b8e0
mov al, byte [ebp - 0x59]
jmp 0x100690b9
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp + 8]
call fcn.10028500
push eax
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.1006cae0
push eax
mov ecx, dword [ebp + 8]
call fcn.1006a440
push eax
mov ecx, dword [ebp - 0x4fc]
call fcn.10069780
jmp 0x1006800a
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.1006cb00
movzx edx, al
test edx, edx
je 0x10067f5f
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.1006cb20
mov dword [ebp - 0x520], eax
mov dword [ebp - 0x51c], edx
cmp dword [ebp - 0x51c], 0xffffffff
jg 0x10067f2a
jl 0x10067e7d
cmp dword [ebp - 0x520], 0x80000000
jae 0x10067f2a
push 0x10127248
mov ecx, dword [ebp + 8]
call fcn.1008d060
push eax
push str.Value_out_of_range_for_int32_option__
lea ecx, [ebp - 0xb4]
push ecx
call fcn.1000d3e0
add esp, 0xc
mov dword [ebp - 0x524], eax
mov edx, dword [ebp - 0x524]
mov dword [ebp - 0x528], edx
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x528]
push eax
lea ecx, [ebp - 0xd0]
push ecx
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x52c], eax
mov edx, dword [ebp - 0x52c]
mov dword [ebp - 0x530], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x530]
push eax
mov ecx, dword [ebp - 0x4fc]
call fcn.1006cbe0
mov byte [ebp - 0x95], al
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd0]
call fcn.1002b8e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb4]
call fcn.1002b8e0
mov al, byte [ebp - 0x95]
jmp 0x100690b9
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10028500
push eax
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.1006cb20
push eax
mov ecx, dword [ebp + 8]
call fcn.1006a440
push eax
mov ecx, dword [ebp - 0x4fc]
call fcn.10069780
jmp 0x1006800a
push 0x10127274
mov ecx, dword [ebp + 8]
call fcn.1008d060
push eax
push str.Value_must_be_integer_for_int32_option__
lea eax, [ebp - 0xf0]
push eax
call fcn.1000d3e0
add esp, 0xc
mov dword [ebp - 0x534], eax
mov ecx, dword [ebp - 0x534]
mov dword [ebp - 0x538], ecx
mov dword [ebp - 4], 4
mov edx, dword [ebp - 0x538]
push edx
lea eax, [ebp - 0x10c]
push eax
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x53c], eax
mov ecx, dword [ebp - 0x53c]
mov dword [ebp - 0x540], ecx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x540]
push edx
mov ecx, dword [ebp - 0x4fc]
call fcn.1006cbe0
mov byte [ebp - 0xd1], al
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x10c]
call fcn.1002b8e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf0]
call fcn.1002b8e0
mov al, byte [ebp - 0xd1]
jmp 0x100690b9
jmp case.default.0x10067d02
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.1006cac0
movzx ecx, al
test ecx, ecx
je 0x10068144
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.1006cae0
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x544], edx
cmp dword [ebp - 0x544], 0x7fffffff
jb 0x1006810e
ja 0x10068061
cmp dword [ebp - 0x548], 0xffffffff
jbe 0x1006810e
push 0x101272a4
mov ecx, dword [ebp + 8]
call fcn.1008d060
push eax
push str.Value_out_of_range_for_int64_option__
lea eax, [ebp - 0x12c]
push eax
call fcn.1000d3e0
add esp, 0xc
mov dword [ebp - 0x54c], eax
mov ecx, dword [ebp - 0x54c]
mov dword [ebp - 0x550], ecx
mov dword [ebp - 4], 6
mov edx, dword [ebp - 0x550]
push edx
lea eax, [ebp - 0x148]
push eax
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x554], eax
mov ecx, dword [ebp - 0x554]
mov dword [ebp - 0x558], ecx
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x558]
push edx
mov ecx, dword [ebp - 0x4fc]
call fcn.1006cbe0
mov byte [ebp - 0x10d], al
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x148]
call fcn.1002b8e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x12c]
call fcn.1002b8e0
mov al, byte [ebp - 0x10d]
jmp 0x100690b9
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
call fcn.10028500
push eax
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.1006cae0
push edx
push eax
mov ecx, dword [ebp + 8]
call fcn.1006a440
push eax
mov ecx, dword [ebp - 0x4fc]
call fcn.10069880
jmp 0x1006823a
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.1006cb00
movzx eax, al
test eax, eax
je 0x1006818f
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10028500
push eax
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.1006cb20
push edx
push eax
mov ecx, dword [ebp + 8]
call fcn.1006a440
push eax
mov ecx, dword [ebp - 0x4fc]
call fcn.10069880
jmp 0x1006823a
push 0x101272d0
mov ecx, dword [ebp + 8]
call fcn.1008d060
push eax
push str.Value_must_be_integer_for_int64_option__
lea eax, [ebp - 0x168]
push eax
call fcn.1000d3e0
add esp, 0xc
mov dword [ebp - 0x55c], eax
mov ecx, dword [ebp - 0x55c]
mov dword [ebp - 0x560], ecx
mov dword [ebp - 4], 8
mov edx, dword [ebp - 0x560]
push edx
lea eax, [ebp - 0x184]
push eax
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x564], eax
mov ecx, dword [ebp - 0x564]
mov dword [ebp - 0x568], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x568]
push edx
mov ecx, dword [ebp - 0x4fc]
call fcn.1006cbe0
mov byte [ebp - 0x149], al
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x184]
call fcn.1002b8e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x168]
call fcn.1002b8e0
mov al, byte [ebp - 0x149]
jmp 0x100690b9
jmp case.default.0x10067d02
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.1006cac0
movzx ecx, al
test ecx, ecx
je 0x1006836a
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.1006cae0
mov dword [ebp - 0x570], eax
mov dword [ebp - 0x56c], edx
cmp dword [ebp - 0x56c], 0
ja 0x10068288
cmp dword [ebp - 0x570], 0xffffffff
jbe 0x10068335
push 0x10127300
mov ecx, dword [ebp + 8]
call fcn.1006e640
push eax
push str.Value_out_of_range_for_uint32_option__
lea eax, [ebp - 0x1a4]
push eax
call fcn.1000d3e0
add esp, 0xc
mov dword [ebp - 0x574], eax
mov ecx, dword [ebp - 0x574]
mov dword [ebp - 0x578], ecx
mov dword [ebp - 4], 0xa
mov edx, dword [ebp - 0x578]
push edx
lea eax, [ebp - 0x1c0]
push eax
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x57c], eax
mov ecx, dword [ebp - 0x57c]
mov dword [ebp - 0x580], ecx
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x580]
push edx
mov ecx, dword [ebp - 0x4fc]
call fcn.1006cbe0
mov byte [ebp - 0x185], al
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1c0]
call fcn.1002b8e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1a4]
call fcn.1002b8e0
mov al, byte [ebp - 0x185]
jmp 0x100690b9
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
call fcn.10028500
push eax
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.1006cae0
push eax
mov ecx, dword [ebp + 8]
call fcn.1006a440
push eax
mov ecx, dword [ebp - 0x4fc]
call fcn.10069980
jmp 0x10068415
push 0x1012732c
mov ecx, dword [ebp + 8]
call fcn.1008d060
push eax
push str.Value_must_be_non_negative_integer_for_uint32_option__
lea edx, [ebp - 0x1e0]
push edx
call fcn.1000d3e0
add esp, 0xc
mov dword [ebp - 0x584], eax
mov eax, dword [ebp - 0x584]
mov dword [ebp - 0x588], eax
mov dword [ebp - 4], 0xc
mov ecx, dword [ebp - 0x588]
push ecx
lea edx, [ebp - 0x1fc]
push edx
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x58c], eax
mov eax, dword [ebp - 0x58c]
mov dword [ebp - 0x590], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x590]
push ecx
mov ecx, dword [ebp - 0x4fc]
call fcn.1006cbe0
mov byte [ebp - 0x1c1], al
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1fc]
call fcn.1002b8e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e0]
call fcn.1002b8e0
mov al, byte [ebp - 0x1c1]
jmp 0x100690b9
jmp case.default.0x10067d02
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.1006cac0
movzx eax, al
test eax, eax
je 0x10068465
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10028500
push eax
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.1006cae0
push edx
push eax
mov ecx, dword [ebp + 8]
call fcn.1006a440
push eax
mov ecx, dword [ebp - 0x4fc]
call fcn.10069a50
jmp 0x10068510
push 0x10127368
mov ecx, dword [ebp + 8]
call fcn.1008d060
push eax
push str.Value_must_be_non_negative_integer_for_uint64_option__
lea eax, [ebp - 0x21c]
push eax
call fcn.1000d3e0
add esp, 0xc
mov dword [ebp - 0x594], eax
mov ecx, dword [ebp - 0x594]
mov dword [ebp - 0x598], ecx
mov dword [ebp - 4], 0xe
mov edx, dword [ebp - 0x598]
push edx
lea eax, [ebp - 0x238]
push eax
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x59c], eax
mov ecx, dword [ebp - 0x59c]
mov dword [ebp - 0x5a0], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x5a0]
push edx
mov ecx, dword [ebp - 0x4fc]
call fcn.1006cbe0
mov byte [ebp - 0x1fd], al
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x238]
call fcn.1002b8e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x21c]
call fcn.1002b8e0
mov al, byte [ebp - 0x1fd]
jmp 0x100690b9
jmp case.default.0x10067d02
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.1006cb40
movzx ecx, al
test ecx, ecx
je 0x10068540
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.1006cb60
fstp dword [ebp - 0x18]
jmp 0x10068699
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.1006cac0
movzx ecx, al
test ecx, ecx
je 0x100685b1
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.1006cae0
mov dword [ebp - 0x5a8], eax
mov dword [ebp - 0x5a4], edx
mov eax, dword [ebp - 0x5a4]
mov dword [ebp - 0x5ac], eax
and dword [ebp - 0x5a4], 0x7fffffff
fild qword [ebp - 0x5a8]
and dword [ebp - 0x5ac], 0x80000000
mov dword [ebp - 0x5b0], 0
fild qword [ebp - 0x5b0]
fchs
faddp st(1)
fstp dword [ebp - 0x18]
jmp 0x10068699
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.1006cb00
movzx edx, al
test edx, edx
je 0x100685ee
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.1006cb20
mov dword [ebp - 0x5b8], eax
mov dword [ebp - 0x5b4], edx
fild qword [ebp - 0x5b8]
fstp dword [ebp - 0x18]
jmp 0x10068699
push 0x101273a4
mov ecx, dword [ebp + 8]
call fcn.1008d060
push eax
push str.Value_must_be_number_for_float_option__
lea ecx, [ebp - 0x258]
push ecx
call fcn.1000d3e0
add esp, 0xc
mov dword [ebp - 0x5bc], eax
mov edx, dword [ebp - 0x5bc]
mov dword [ebp - 0x5c0], edx
mov dword [ebp - 4], 0x10
mov eax, dword [ebp - 0x5c0]
push eax
lea ecx, [ebp - 0x274]
push ecx
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x5c4], eax
mov edx, dword [ebp - 0x5c4]
mov dword [ebp - 0x5c8], edx
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x5c8]
push eax
mov ecx, dword [ebp - 0x4fc]
call fcn.1006cbe0
mov byte [ebp - 0x239], al
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x274]
call fcn.1002b8e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x258]
call fcn.1002b8e0
mov al, byte [ebp - 0x239]
jmp 0x100690b9
push ecx
fld dword [ebp - 0x18]
fstp dword [esp]
call fcn.1006cba0
add esp, 4
push eax
mov ecx, dword [ebp + 8]
call fcn.1006a440
push eax
mov ecx, dword [ebp + 0xc]
call fcn.100c77d0
jmp case.default.0x10067d02
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.1006cb40
movzx edx, al
test edx, edx
je 0x100686ea
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.1006cb60
fstp qword [ebp - 0x24]
jmp 0x10068843
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.1006cac0
movzx edx, al
test edx, edx
je 0x1006875b
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.1006cae0
mov dword [ebp - 0x5d0], eax
mov dword [ebp - 0x5cc], edx
mov ecx, dword [ebp - 0x5cc]
mov dword [ebp - 0x5d4], ecx
and dword [ebp - 0x5cc], 0x7fffffff
fild qword [ebp - 0x5d0]
and dword [ebp - 0x5d4], 0x80000000
mov dword [ebp - 0x5d8], 0
fild qword [ebp - 0x5d8]
fchs
faddp st(1)
fstp qword [ebp - 0x24]
jmp 0x10068843
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.1006cb00
movzx eax, al
test eax, eax
je 0x10068798
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.1006cb20
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 0x5dc], edx
fild qword [ebp - 0x5e0]
fstp qword [ebp - 0x24]
jmp 0x10068843
push 0x101273d0
mov ecx, dword [ebp + 8]
call fcn.1008d060
push eax
push str.Value_must_be_number_for_double_option__
lea edx, [ebp - 0x294]
push edx
call fcn.1000d3e0
add esp, 0xc
mov dword [ebp - 0x5e4], eax
mov eax, dword [ebp - 0x5e4]
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 4], 0x12
mov ecx, dword [ebp - 0x5e8]
push ecx
lea edx, [ebp - 0x2b0]
push edx
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x5ec], eax
mov eax, dword [ebp - 0x5ec]
mov dword [ebp - 0x5f0], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x5f0]
push ecx
mov ecx, dword [ebp - 0x4fc]
call fcn.1006cbe0
mov byte [ebp - 0x275], al
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x2b0]
call fcn.1002b8e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x294]
call fcn.1002b8e0
mov al, byte [ebp - 0x275]
jmp 0x100690b9
sub esp, 8
fld qword [ebp - 0x24]
fstp qword [esp]
call fcn.1006cbc0
add esp, 8
push edx
push eax
mov ecx, dword [ebp + 8]
call fcn.1006a440
push eax
mov ecx, dword [ebp + 0xc]
call fcn.100c7890
jmp case.default.0x10067d02
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.1006caa0
movzx eax, al
test eax, eax
jne 0x10068930
push 0x10127400
mov ecx, dword [ebp + 8]
call fcn.1008d060
push eax
push str.Value_must_be_identifier_for_boolean_option__
lea ecx, [ebp - 0x2d0]
push ecx
call fcn.1000d3e0
add esp, 0xc
mov dword [ebp - 0x5f4], eax
mov edx, dword [ebp - 0x5f4]
mov dword [ebp - 0x5f8], edx
mov dword [ebp - 4], 0x14
mov eax, dword [ebp - 0x5f8]
push eax
lea ecx, [ebp - 0x2ec]
push ecx
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x5fc], eax
mov edx, dword [ebp - 0x5fc]
mov dword [ebp - 0x600], edx
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x600]
push eax
mov ecx, dword [ebp - 0x4fc]
call fcn.1006cbe0
mov byte [ebp - 0x2b1], al
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x2ec]
call fcn.1002b8e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2d0]
call fcn.1002b8e0
mov al, byte [ebp - 0x2b1]
jmp 0x100690b9
push 0x10127434
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.100d2ef0
push eax
call fcn.10006c20
add esp, 8
movzx edx, al
test edx, edx
je 0x10068966
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x10], 0
jmp 0x10068a47
push 0x1012743c
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.100d2ef0
push eax
call fcn.10006c20
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x1006899c
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
jmp 0x10068a47
push 0x10127444
mov ecx, dword [ebp + 8]
call fcn.1008d060
push eax
push str.Value_must_be__true__or__false__for_boolean_option__
lea edx, [ebp - 0x30c]
push edx
call fcn.1000d3e0
add esp, 0xc
mov dword [ebp - 0x604], eax
mov eax, dword [ebp - 0x604]
mov dword [ebp - 0x608], eax
mov dword [ebp - 4], 0x16
mov ecx, dword [ebp - 0x608]
push ecx
lea edx, [ebp - 0x328]
push edx
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x60c], eax
mov eax, dword [ebp - 0x60c]
mov dword [ebp - 0x610], eax
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x610]
push ecx
mov ecx, dword [ebp - 0x4fc]
call fcn.1006cbe0
mov byte [ebp - 0x2ed], al
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x328]
call fcn.1002b8e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30c]
call fcn.1002b8e0
mov al, byte [ebp - 0x2ed]
jmp 0x100690b9
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
call fcn.1006a440
push eax
mov ecx, dword [ebp + 0xc]
call fcn.100c7710
jmp case.default.0x10067d02
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.1006caa0
movzx edx, al
test edx, edx
jne 0x10068b29
push 0x10127480
mov ecx, dword [ebp + 8]
call fcn.1008d060
push eax
push str.Value_must_be_identifier_for_enum_valued_option__
lea eax, [ebp - 0x348]
push eax
call fcn.1000d3e0
add esp, 0xc
mov dword [ebp - 0x614], eax
mov ecx, dword [ebp - 0x614]
mov dword [ebp - 0x618], ecx
mov dword [ebp - 4], 0x18
mov edx, dword [ebp - 0x618]
push edx
lea eax, [ebp - 0x364]
push eax
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x61c], eax
mov ecx, dword [ebp - 0x61c]
mov dword [ebp - 0x620], ecx
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x620]
push edx
mov ecx, dword [ebp - 0x4fc]
call fcn.1006cbe0
mov byte [ebp - 0x329], al
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x364]
call fcn.1002b8e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x348]
call fcn.1002b8e0
mov al, byte [ebp - 0x329]
jmp 0x100690b9
mov ecx, dword [ebp + 8]
call fcn.1006a340
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.100d2ef0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], 0
mov ecx, dword [ebp - 0x28]
call fcn.1006ca50
mov ecx, eax
call fcn.1006ca50
mov esi, eax
call fcn.1005a530
cmp esi, eax
je 0x10068dc5
mov ecx, dword [ebp - 0x28]
call fcn.1008d060
push eax
lea ecx, [ebp - 0x58]
call fcn.100041f0
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0x58]
call fcn.100043b0
mov esi, eax
mov ecx, dword [ebp - 0x28]
call fcn.1006e640
mov ecx, eax
call fcn.100043b0
sub esi, eax
push esi
lea ecx, [ebp - 0x58]
call fcn.10010bb0
mov ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x58]
call fcn.10004220
lea edx, [ebp - 0x58]
push edx
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx]
call fcn.10060180
lea ecx, [ebp - 0x38]
call fcn.10069ca0
movzx edx, al
test edx, edx
jne 0x10068db4
cmp dword [ebp - 0x38], 4
jne 0x10068db4
mov ecx, dword [ebp - 0x34]
call fcn.10069d50
cmp eax, dword [ebp - 0x28]
je 0x10068dae
push str._._This_appears_to_be_a_value_from_a_sibling_type.
mov ecx, dword [ebp + 8]
call fcn.1008d060
push eax
push 0x101274ec
mov eax, dword [ebp - 0x2c]
push eax
push 0x101274fc
mov ecx, dword [ebp - 0x28]
call fcn.1008d060
push eax
push 0x10127514
lea ecx, [ebp - 0x384]
push ecx
call fcn.1000d3e0
add esp, 0xc
mov dword [ebp - 0x624], eax
mov edx, dword [ebp - 0x624]
mov dword [ebp - 0x628], edx
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x628]
push eax
lea ecx, [ebp - 0x3a0]
push ecx
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x62c], eax
mov edx, dword [ebp - 0x62c]
mov dword [ebp - 0x630], edx
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x630]
push eax
lea ecx, [ebp - 0x3bc]
push ecx
call fcn.1000d330
add esp, 0xc
mov dword [ebp - 0x634], eax
mov edx, dword [ebp - 0x634]
mov dword [ebp - 0x638], edx
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x638]
push eax
lea ecx, [ebp - 0x3d8]
push ecx
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x63c], eax
mov edx, dword [ebp - 0x63c]
mov dword [ebp - 0x640], edx
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0x640]
push eax
lea ecx, [ebp - 0x3f4]
push ecx
call fcn.1000d330
add esp, 0xc
mov dword [ebp - 0x644], eax
mov edx, dword [ebp - 0x644]
mov dword [ebp - 0x648], edx
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x648]
push eax
lea ecx, [ebp - 0x410]
push ecx
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x64c], eax
mov edx, dword [ebp - 0x64c]
mov dword [ebp - 0x650], edx
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0x650]
push eax
mov ecx, dword [ebp - 0x4fc]
call fcn.1006cbe0
mov byte [ebp - 0x365], al
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x410]
call fcn.1002b8e0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x3f4]
call fcn.1002b8e0
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x3d8]
call fcn.1002b8e0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x3bc]
call fcn.1002b8e0
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x3a0]
call fcn.1002b8e0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x384]
call fcn.1002b8e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.1002b8e0
mov al, byte [ebp - 0x365]
jmp 0x100690b9
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.1002b8e0
jmp 0x10068dd4
mov edx, dword [ebp - 0x2c]
push edx
mov ecx, dword [ebp - 0x28]
call fcn.1005b160
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x10068f95
push 0x10127520
mov ecx, dword [ebp + 8]
call fcn.1008d060
push eax
push str.__for_option__
mov eax, dword [ebp - 0x2c]
push eax
push str.__has_no_value_named__
mov ecx, dword [ebp + 8]
call fcn.1006a340
mov ecx, eax
call fcn.1008d060
push eax
push str.Enum_type__
lea ecx, [ebp - 0x430]
push ecx
call fcn.1000d3e0
add esp, 0xc
mov dword [ebp - 0x654], eax
mov edx, dword [ebp - 0x654]
mov dword [ebp - 0x658], edx
mov dword [ebp - 4], 0x21
mov eax, dword [ebp - 0x658]
push eax
lea ecx, [ebp - 0x44c]
push ecx
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x65c], eax
mov edx, dword [ebp - 0x65c]
mov dword [ebp - 0x660], edx
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x660]
push eax
lea ecx, [ebp - 0x468]
push ecx
call fcn.1000d330
add esp, 0xc
mov dword [ebp - 0x664], eax
mov edx, dword [ebp - 0x664]
mov dword [ebp - 0x668], edx
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0x668]
push eax
lea ecx, [ebp - 0x484]
push ecx
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x66c], eax
mov edx, dword [ebp - 0x66c]
mov dword [ebp - 0x670], edx
mov byte [ebp - 4], 0x24
mov eax, dword [ebp - 0x670]
push eax
lea ecx, [ebp - 0x4a0]
push ecx
call fcn.1000d330
add esp, 0xc
mov dword [ebp - 0x674], eax
mov edx, dword [ebp - 0x674]
mov dword [ebp - 0x678], edx
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x678]
push eax
lea ecx, [ebp - 0x4bc]
push ecx
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x67c], eax
mov edx, dword [ebp - 0x67c]
mov dword [ebp - 0x680], edx
mov byte [ebp - 4], 0x26
mov eax, dword [ebp - 0x680]
push eax
mov ecx, dword [ebp - 0x4fc]
call fcn.1006cbe0
mov byte [ebp - 0x411], al
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x4bc]
call fcn.1002b8e0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x4a0]
call fcn.1002b8e0
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x484]
call fcn.1002b8e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x468]
call fcn.1002b8e0
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x44c]
call fcn.1002b8e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x430]
call fcn.1002b8e0
mov al, byte [ebp - 0x411]
jmp 0x100690b9
mov ecx, dword [ebp - 0x30]
call fcn.1006ca50
cdq
push edx
push eax
mov ecx, dword [ebp + 8]
call fcn.1006a440
push eax
mov ecx, dword [ebp + 0xc]
call fcn.100c7710
jmp case.default.0x10067d02
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.1006cb80
movzx edx, al
test edx, edx
jne 0x10069077
push 0x10127558
mov ecx, dword [ebp + 8]
call fcn.1008d060
push eax
push str.Value_must_be_quoted_string_for_string_option__
lea eax, [ebp - 0x4dc]
push eax
call fcn.1000d3e0
add esp, 0xc
mov dword [ebp - 0x684], eax
mov ecx, dword [ebp - 0x684]
mov dword [ebp - 0x688], ecx
mov dword [ebp - 4], 0x27
mov edx, dword [ebp - 0x688]
push edx
lea eax, [ebp - 0x4f8]
push eax
call fcn.10008390
add esp, 0xc
mov dword [ebp - 0x68c], eax
mov ecx, dword [ebp - 0x68c]
mov dword [ebp - 0x690], ecx
mov byte [ebp - 4], 0x28
mov edx, dword [ebp - 0x690]
push edx
mov ecx, dword [ebp - 0x4fc]
call fcn.1006cbe0
mov byte [ebp - 0x4bd], al
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x4f8]
call fcn.1002b8e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4dc]
call fcn.1002b8e0
mov al, byte [ebp - 0x4bd]
jmp 0x100690b9
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.100d0690
push eax
mov ecx, dword [ebp + 8]
call fcn.1006a440
push eax
mov ecx, dword [ebp + 0xc]
call fcn.1006ca70
jmp case.default.0x10067d02
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x4fc]
call fcn.10069100
movzx eax, al
test eax, eax
jne case.default.0x10067d02
xor al, al
jmp 0x100690b9
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x3c]
xor ecx, ebp
call fcn.100f30a6
mov esp, ebp
pop ebp
ret 8