Function at 0x100235c0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c9d44
mov eax, dword fs:[0]
push eax
sub esp, 0x684
mov eax, dword [0x100ff2f0]
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.10025d20
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.0x10023622
mov ecx, dword [ebp - 0x500]
jmp dword [ecx*4 + 0x100249f8]
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.10028600
movzx eax, al
test eax, eax
je 0x1002374b
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.10028620
mov dword [ebp - 0x508], eax
mov dword [ebp - 0x504], edx
cmp dword [ebp - 0x504], 0
ja 0x10023675
cmp dword [ebp - 0x508], 0x7fffffff
jbe 0x10023716
push 0x100d7fdc
mov ecx, dword [ebp + 8]
call fcn.1002bcd0
push eax
push 0x100d7fe0
lea edx, [ebp - 0x78]
push edx
call fcn.10006fc0
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.1000a4a0
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.10028720
mov byte [ebp - 0x59], al
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.1000bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x78]
call fcn.1000bc20
mov al, byte [ebp - 0x59]
jmp 0x100249d9
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp + 8]
call fcn.10005d30
push eax
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.10028620
push eax
mov ecx, dword [ebp + 8]
call fcn.10027050
push eax
mov ecx, dword [ebp - 0x4fc]
call fcn.100250a0
jmp 0x1002392a
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.10028640
movzx edx, al
test edx, edx
je 0x1002387f
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.10028660
mov dword [ebp - 0x520], eax
mov dword [ebp - 0x51c], edx
cmp dword [ebp - 0x51c], 0xffffffff
jg 0x1002384a
jl 0x1002379d
cmp dword [ebp - 0x520], 0x80000000
jae 0x1002384a
push 0x100d8008
mov ecx, dword [ebp + 8]
call fcn.1002bcd0
push eax
push str.Value_out_of_range_for_int32_option__
lea ecx, [ebp - 0xb4]
push ecx
call fcn.10006fc0
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.1000a4a0
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.10028720
mov byte [ebp - 0x95], al
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd0]
call fcn.1000bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb4]
call fcn.1000bc20
mov al, byte [ebp - 0x95]
jmp 0x100249d9
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10005d30
push eax
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.10028660
push eax
mov ecx, dword [ebp + 8]
call fcn.10027050
push eax
mov ecx, dword [ebp - 0x4fc]
call fcn.100250a0
jmp 0x1002392a
push 0x100d8034
mov ecx, dword [ebp + 8]
call fcn.1002bcd0
push eax
push str.Value_must_be_integer_for_int32_option__
lea eax, [ebp - 0xf0]
push eax
call fcn.10006fc0
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.1000a4a0
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.10028720
mov byte [ebp - 0xd1], al
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x10c]
call fcn.1000bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf0]
call fcn.1000bc20
mov al, byte [ebp - 0xd1]
jmp 0x100249d9
jmp case.default.0x10023622
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.10028600
movzx ecx, al
test ecx, ecx
je 0x10023a64
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.10028620
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x544], edx
cmp dword [ebp - 0x544], 0x7fffffff
jb 0x10023a2e
ja 0x10023981
cmp dword [ebp - 0x548], 0xffffffff
jbe 0x10023a2e
push 0x100d8064
mov ecx, dword [ebp + 8]
call fcn.1002bcd0
push eax
push str.Value_out_of_range_for_int64_option__
lea eax, [ebp - 0x12c]
push eax
call fcn.10006fc0
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.1000a4a0
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.10028720
mov byte [ebp - 0x10d], al
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x148]
call fcn.1000bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x12c]
call fcn.1000bc20
mov al, byte [ebp - 0x10d]
jmp 0x100249d9
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
call fcn.10005d30
push eax
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.10028620
push edx
push eax
mov ecx, dword [ebp + 8]
call fcn.10027050
push eax
mov ecx, dword [ebp - 0x4fc]
call fcn.100251a0
jmp 0x10023b5a
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.10028640
movzx eax, al
test eax, eax
je 0x10023aaf
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10005d30
push eax
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.10028660
push edx
push eax
mov ecx, dword [ebp + 8]
call fcn.10027050
push eax
mov ecx, dword [ebp - 0x4fc]
call fcn.100251a0
jmp 0x10023b5a
push 0x100d8090
mov ecx, dword [ebp + 8]
call fcn.1002bcd0
push eax
push str.Value_must_be_integer_for_int64_option__
lea eax, [ebp - 0x168]
push eax
call fcn.10006fc0
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.1000a4a0
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.10028720
mov byte [ebp - 0x149], al
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x184]
call fcn.1000bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x168]
call fcn.1000bc20
mov al, byte [ebp - 0x149]
jmp 0x100249d9
jmp case.default.0x10023622
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.10028600
movzx ecx, al
test ecx, ecx
je 0x10023c8a
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.10028620
mov dword [ebp - 0x570], eax
mov dword [ebp - 0x56c], edx
cmp dword [ebp - 0x56c], 0
ja 0x10023ba8
cmp dword [ebp - 0x570], 0xffffffff
jbe 0x10023c55
push 0x100d80c0
mov ecx, dword [ebp + 8]
call fcn.1002a2d0
push eax
push str.Value_out_of_range_for_uint32_option__
lea eax, [ebp - 0x1a4]
push eax
call fcn.10006fc0
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.1000a4a0
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.10028720
mov byte [ebp - 0x185], al
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1c0]
call fcn.1000bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1a4]
call fcn.1000bc20
mov al, byte [ebp - 0x185]
jmp 0x100249d9
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
call fcn.10005d30
push eax
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.10028620
push eax
mov ecx, dword [ebp + 8]
call fcn.10027050
push eax
mov ecx, dword [ebp - 0x4fc]
call fcn.100252a0
jmp 0x10023d35
push 0x100d80ec
mov ecx, dword [ebp + 8]
call fcn.1002bcd0
push eax
push str.Value_must_be_non_negative_integer_for_uint32_option__
lea edx, [ebp - 0x1e0]
push edx
call fcn.10006fc0
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.1000a4a0
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.10028720
mov byte [ebp - 0x1c1], al
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1fc]
call fcn.1000bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e0]
call fcn.1000bc20
mov al, byte [ebp - 0x1c1]
jmp 0x100249d9
jmp case.default.0x10023622
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.10028600
movzx eax, al
test eax, eax
je 0x10023d85
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10005d30
push eax
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.10028620
push edx
push eax
mov ecx, dword [ebp + 8]
call fcn.10027050
push eax
mov ecx, dword [ebp - 0x4fc]
call fcn.10025370
jmp 0x10023e30
push 0x100d8128
mov ecx, dword [ebp + 8]
call fcn.1002bcd0
push eax
push str.Value_must_be_non_negative_integer_for_uint64_option__
lea eax, [ebp - 0x21c]
push eax
call fcn.10006fc0
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.1000a4a0
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.10028720
mov byte [ebp - 0x1fd], al
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x238]
call fcn.1000bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x21c]
call fcn.1000bc20
mov al, byte [ebp - 0x1fd]
jmp 0x100249d9
jmp case.default.0x10023622
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.10028680
movzx ecx, al
test ecx, ecx
je 0x10023e60
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.100286a0
fstp dword [ebp - 0x18]
jmp 0x10023fb9
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.10028600
movzx ecx, al
test ecx, ecx
je 0x10023ed1
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.10028620
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 0x10023fb9
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.10028640
movzx edx, al
test edx, edx
je 0x10023f0e
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.10028660
mov dword [ebp - 0x5b8], eax
mov dword [ebp - 0x5b4], edx
fild qword [ebp - 0x5b8]
fstp dword [ebp - 0x18]
jmp 0x10023fb9
push 0x100d8164
mov ecx, dword [ebp + 8]
call fcn.1002bcd0
push eax
push str.Value_must_be_number_for_float_option__
lea ecx, [ebp - 0x258]
push ecx
call fcn.10006fc0
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.1000a4a0
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.10028720
mov byte [ebp - 0x239], al
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x274]
call fcn.1000bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x258]
call fcn.1000bc20
mov al, byte [ebp - 0x239]
jmp 0x100249d9
push ecx
fld dword [ebp - 0x18]
fstp dword [esp]
call fcn.100286e0
add esp, 4
push eax
mov ecx, dword [ebp + 8]
call fcn.10027050
push eax
mov ecx, dword [ebp + 0xc]
call fcn.10078520
jmp case.default.0x10023622
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.10028680
movzx edx, al
test edx, edx
je 0x1002400a
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.100286a0
fstp qword [ebp - 0x24]
jmp 0x10024163
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.10028600
movzx edx, al
test edx, edx
je 0x1002407b
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.10028620
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 0x10024163
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.10028640
movzx eax, al
test eax, eax
je 0x100240b8
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.10028660
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 0x5dc], edx
fild qword [ebp - 0x5e0]
fstp qword [ebp - 0x24]
jmp 0x10024163
push 0x100d8190
mov ecx, dword [ebp + 8]
call fcn.1002bcd0
push eax
push str.Value_must_be_number_for_double_option__
lea edx, [ebp - 0x294]
push edx
call fcn.10006fc0
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.1000a4a0
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.10028720
mov byte [ebp - 0x275], al
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x2b0]
call fcn.1000bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x294]
call fcn.1000bc20
mov al, byte [ebp - 0x275]
jmp 0x100249d9
sub esp, 8
fld qword [ebp - 0x24]
fstp qword [esp]
call fcn.10028700
add esp, 8
push edx
push eax
mov ecx, dword [ebp + 8]
call fcn.10027050
push eax
mov ecx, dword [ebp + 0xc]
call fcn.100785e0
jmp case.default.0x10023622
mov edx, dword [ebp - 0x4fc]
mov ecx, dword [edx + 8]
call fcn.100285e0
movzx eax, al
test eax, eax
jne 0x10024250
push 0x100d81c0
mov ecx, dword [ebp + 8]
call fcn.1002bcd0
push eax
push str.Value_must_be_identifier_for_boolean_option__
lea ecx, [ebp - 0x2d0]
push ecx
call fcn.10006fc0
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.1000a4a0
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.10028720
mov byte [ebp - 0x2b1], al
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x2ec]
call fcn.1000bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2d0]
call fcn.1000bc20
mov al, byte [ebp - 0x2b1]
jmp 0x100249d9
push 0x100d81f4
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.10026bb0
push eax
call fcn.10006f80
add esp, 8
movzx edx, al
test edx, edx
je 0x10024286
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x10], 0
jmp 0x10024367
push 0x100d81fc
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.10026bb0
push eax
call fcn.10006f80
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x100242bc
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
jmp 0x10024367
push 0x100d8204
mov ecx, dword [ebp + 8]
call fcn.1002bcd0
push eax
push str.Value_must_be__true__or__false__for_boolean_option__
lea edx, [ebp - 0x30c]
push edx
call fcn.10006fc0
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.1000a4a0
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.10028720
mov byte [ebp - 0x2ed], al
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x328]
call fcn.1000bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30c]
call fcn.1000bc20
mov al, byte [ebp - 0x2ed]
jmp 0x100249d9
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
call fcn.10027050
push eax
mov ecx, dword [ebp + 0xc]
call fcn.10078460
jmp case.default.0x10023622
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.100285e0
movzx edx, al
test edx, edx
jne 0x10024449
push 0x100d8240
mov ecx, dword [ebp + 8]
call fcn.1002bcd0
push eax
push str.Value_must_be_identifier_for_enum_valued_option__
lea eax, [ebp - 0x348]
push eax
call fcn.10006fc0
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.1000a4a0
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.10028720
mov byte [ebp - 0x329], al
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x364]
call fcn.1000bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x348]
call fcn.1000bc20
mov al, byte [ebp - 0x329]
jmp 0x100249d9
mov ecx, dword [ebp + 8]
call fcn.10066c10
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.10026bb0
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], 0
mov ecx, dword [ebp - 0x28]
call fcn.10027ed0
mov ecx, eax
call fcn.10027ed0
mov esi, eax
call fcn.10015e50
cmp esi, eax
je 0x100246e5
mov ecx, dword [ebp - 0x28]
call fcn.1002bcd0
push eax
lea ecx, [ebp - 0x58]
call fcn.10002c70
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0x58]
call fcn.10002de0
mov esi, eax
mov ecx, dword [ebp - 0x28]
call fcn.1002a2d0
mov ecx, eax
call fcn.10002de0
sub esi, eax
push esi
lea ecx, [ebp - 0x58]
call fcn.10011620
mov ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x58]
call fcn.10004080
lea edx, [ebp - 0x58]
push edx
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx]
call fcn.1001baa0
lea ecx, [ebp - 0x38]
call fcn.100255a0
movzx edx, al
test edx, edx
jne 0x100246d4
cmp dword [ebp - 0x38], 4
jne 0x100246d4
mov ecx, dword [ebp - 0x34]
call fcn.10025650
cmp eax, dword [ebp - 0x28]
je 0x100246ce
push str._._This_appears_to_be_a_value_from_a_sibling_type.
mov ecx, dword [ebp + 8]
call fcn.1002bcd0
push eax
push 0x100d82ac
mov eax, dword [ebp - 0x2c]
push eax
push 0x100d82bc
mov ecx, dword [ebp - 0x28]
call fcn.1002bcd0
push eax
push 0x100d82d4
lea ecx, [ebp - 0x384]
push ecx
call fcn.10006fc0
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.1000a4a0
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.100096d0
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.1000a4a0
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.100096d0
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.1000a4a0
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.10028720
mov byte [ebp - 0x365], al
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x410]
call fcn.1000bc20
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x3f4]
call fcn.1000bc20
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x3d8]
call fcn.1000bc20
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x3bc]
call fcn.1000bc20
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x3a0]
call fcn.1000bc20
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x384]
call fcn.1000bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.1000bc20
mov al, byte [ebp - 0x365]
jmp 0x100249d9
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.1000bc20
jmp 0x100246f4
mov edx, dword [ebp - 0x2c]
push edx
mov ecx, dword [ebp - 0x28]
call fcn.10016a80
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x100248b5
push 0x100d82e0
mov ecx, dword [ebp + 8]
call fcn.1002bcd0
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.10066c10
mov ecx, eax
call fcn.1002bcd0
push eax
push str.Enum_type__
lea ecx, [ebp - 0x430]
push ecx
call fcn.10006fc0
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.1000a4a0
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.100096d0
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.1000a4a0
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.100096d0
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.1000a4a0
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.10028720
mov byte [ebp - 0x411], al
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x4bc]
call fcn.1000bc20
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x4a0]
call fcn.1000bc20
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x484]
call fcn.1000bc20
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x468]
call fcn.1000bc20
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x44c]
call fcn.1000bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x430]
call fcn.1000bc20
mov al, byte [ebp - 0x411]
jmp 0x100249d9
mov ecx, dword [ebp - 0x30]
call fcn.10027ed0
cdq
push edx
push eax
mov ecx, dword [ebp + 8]
call fcn.10027050
push eax
mov ecx, dword [ebp + 0xc]
call fcn.10078460
jmp case.default.0x10023622
mov ecx, dword [ebp - 0x4fc]
mov ecx, dword [ecx + 8]
call fcn.100286c0
movzx edx, al
test edx, edx
jne 0x10024997
push 0x100d8318
mov ecx, dword [ebp + 8]
call fcn.1002bcd0
push eax
push str.Value_must_be_quoted_string_for_string_option__
lea eax, [ebp - 0x4dc]
push eax
call fcn.10006fc0
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.1000a4a0
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.10028720
mov byte [ebp - 0x4bd], al
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x4f8]
call fcn.1000bc20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4dc]
call fcn.1000bc20
mov al, byte [ebp - 0x4bd]
jmp 0x100249d9
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + 8]
call fcn.100661c0
push eax
mov ecx, dword [ebp + 8]
call fcn.10027050
push eax
mov ecx, dword [ebp + 0xc]
call fcn.100285b0
jmp case.default.0x10023622
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x4fc]
call fcn.10024a20
movzx eax, al
test eax, eax
jne case.default.0x10023622
xor al, al
jmp 0x100249d9
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.100b1bc4
mov esp, ebp
pop ebp
ret 8