Function at 0x402080
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x416567
mov eax, dword fs:[0]
push eax
sub esp, 0x128
mov eax, dword [0x41d408]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 0xc]
mov esi, 1
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x108], esi
cmp dword [ebp + 8], esi
jle 0x403a16
mov edx, dword [ecx + esi*4]
mov ecx, edx
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4020f2
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.004012d0
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp - 0x18]
setae dl
cmovae ecx, eax
mov dword [ebp - 4], 0
mov byte [ebp - 0x101], dl
mov dword [ebp - 0x10c], eax
cmp edi, 2
jne 0x4021a0
mov esi, edi
mov edx, 0x4189ac
sub esi, 4
jb 0x402151
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x402156
add ecx, 4
add edx, 4
sub esi, 4
jae 0x402140
cmp esi, 0xfffffffc
je 0x40218a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x402183
cmp esi, 0xfffffffd
je 0x40218a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x402183
cmp esi, 0xfffffffe
je 0x40218a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x402183
cmp esi, 0xffffffff
je 0x40218a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40218a
sbb eax, eax
or eax, 1
jmp 0x40218c
xor eax, eax
test eax, eax
je 0x4039b1
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 6
jne 0x402220
mov esi, edi
mov edx, str.__help
sub esi, 4
jb 0x4021d1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4021d6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4021c0
cmp esi, 0xfffffffc
je 0x40220a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x402203
cmp esi, 0xfffffffd
je 0x40220a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x402203
cmp esi, 0xfffffffe
je 0x40220a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x402203
cmp esi, 0xffffffff
je 0x40220a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40220a
sbb eax, eax
or eax, 1
jmp 0x40220c
xor eax, eax
test eax, eax
je 0x4039b1
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 2
jne 0x4022a0
mov esi, edi
mov edx, 0x4189b8
sub esi, 4
jb 0x402251
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x402256
add ecx, 4
add edx, 4
sub esi, 4
jae 0x402240
cmp esi, 0xfffffffc
je 0x40228a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x402283
cmp esi, 0xfffffffd
je 0x40228a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x402283
cmp esi, 0xfffffffe
je 0x40228a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x402283
cmp esi, 0xffffffff
je 0x40228a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40228a
sbb eax, eax
or eax, 1
jmp 0x40228c
xor eax, eax
test eax, eax
je 0x402314
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 9
jne 0x4023f5
mov esi, edi
mov edx, str.__threads
sub esi, 4
jb 0x4022d1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4022d6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4022c0
cmp esi, 0xfffffffc
je 0x40230a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x402303
cmp esi, 0xfffffffd
je 0x40230a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x402303
cmp esi, 0xfffffffe
je 0x40230a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x402303
cmp esi, 0xffffffff
je 0x40230a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40230a
sbb eax, eax
or eax, 1
jmp 0x40230c
xor eax, eax
test eax, eax
jne 0x4023e9
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x114]
inc edx
mov dword [ebp - 0x108], edx
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x40], xmm0
mov edx, dword [eax + edx*4]
mov ecx, edx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402346
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x40]
call fcn.004012d0
mov byte [ebp - 4], 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [ebp - 0x2c], 0x10
lea esi, [ebp - 0x40]
mov edi, eax
lea eax, [ebp - 0x118]
cmovae esi, dword [ebp - 0x40]
push 0xa
push eax
push esi
mov dword [edi], 0
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add esp, 0xc
cmp esi, dword [ebp - 0x118]
je 0x403a3d
cmp dword [edi], 0x22
je 0x403a33
mov ecx, dword [ebp - 0x110]
mov byte [ebp - 4], 0
mov dword [ecx], eax
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x4023de
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4023d4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4039d1
push ecx
push edx
call fcn.0041535b
add esp, 8
mov esi, dword [ebp - 0x108]
jmp 0x40395d
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 4
jne 0x402470
mov esi, edi
mov edx, str._pms
sub esi, edi
jb 0x402421
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x402426
add ecx, 4
add edx, 4
sub esi, 4
jae 0x402410
cmp esi, 0xfffffffc
je 0x40245a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x402453
cmp esi, 0xfffffffd
je 0x40245a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x402453
cmp esi, 0xfffffffe
je 0x40245a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x402453
cmp esi, 0xffffffff
je 0x40245a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40245a
sbb eax, eax
or eax, 1
jmp 0x40245c
xor eax, eax
test eax, eax
je 0x4024e4
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xb
jne 0x4025ca
mov esi, edi
mov edx, str.__prompt_ms
sub esi, 4
jb 0x4024a1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4024a6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x402490
cmp esi, 0xfffffffc
je 0x4024da
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4024d3
cmp esi, 0xfffffffd
je 0x4024da
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4024d3
cmp esi, 0xfffffffe
je 0x4024da
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4024d3
cmp esi, 0xffffffff
je 0x4024da
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4024da
sbb eax, eax
or eax, 1
jmp 0x4024dc
xor eax, eax
test eax, eax
jne 0x4025be
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x114]
inc edx
mov dword [ebp - 0x108], edx
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x58], xmm0
mov edx, dword [eax + edx*4]
mov ecx, edx
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402516
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x58]
call fcn.004012d0
mov byte [ebp - 4], 2
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [ebp - 0x44], 0x10
lea esi, [ebp - 0x58]
mov edi, eax
lea eax, [ebp - 0x11c]
cmovae esi, dword [ebp - 0x58]
push 0xa
push eax
push esi
mov dword [edi], 0
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add esp, 0xc
cmp esi, dword [ebp - 0x11c]
je 0x403a3d
cmp dword [edi], 0x22
je 0x403a33
mov ecx, dword [ebp - 0x110]
mov byte [ebp - 4], 0
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x4023de
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4025a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4039d1
push ecx
push edx
call fcn.0041535b
mov esi, dword [ebp - 0x108]
add esp, 8
jmp 0x40395d
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 4
jne 0x402642
mov esi, edi
mov edx, str._cms
sub esi, edi
jb 0x4025f3
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4025f8
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4025e2
cmp esi, 0xfffffffc
je 0x40262c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x402625
cmp esi, 0xfffffffd
je 0x40262c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x402625
cmp esi, 0xfffffffe
je 0x40262c
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x402625
cmp esi, 0xffffffff
je 0x40262c
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40262c
sbb eax, eax
or eax, 1
jmp 0x40262e
xor eax, eax
test eax, eax
je 0x4026b4
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xc
jne 0x40279a
mov esi, edi
mov edx, str.__command_ms
sub esi, 4
jb 0x402671
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x402676
add ecx, 4
add edx, 4
sub esi, 4
jae 0x402660
cmp esi, 0xfffffffc
je 0x4026aa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4026a3
cmp esi, 0xfffffffd
je 0x4026aa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4026a3
cmp esi, 0xfffffffe
je 0x4026aa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4026a3
cmp esi, 0xffffffff
je 0x4026aa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4026aa
sbb eax, eax
or eax, 1
jmp 0x4026ac
xor eax, eax
test eax, eax
jne 0x40278e
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x114]
inc edx
mov dword [ebp - 0x108], edx
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x70], xmm0
mov edx, dword [eax + edx*4]
mov ecx, edx
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4026e6
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x70]
call fcn.004012d0
mov byte [ebp - 4], 3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [ebp - 0x5c], 0x10
lea esi, [ebp - 0x70]
mov edi, eax
lea eax, [ebp - 0x120]
cmovae esi, dword [ebp - 0x70]
push 0xa
push eax
push esi
mov dword [edi], 0
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add esp, 0xc
cmp esi, dword [ebp - 0x120]
je 0x403a3d
cmp dword [edi], 0x22
je 0x403a33
mov ecx, dword [ebp - 0x110]
mov byte [ebp - 4], 0
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x4023de
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402779
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4039d1
push ecx
push edx
call fcn.0041535b
mov esi, dword [ebp - 0x108]
add esp, 8
jmp 0x40395d
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 2
jne 0x402813
mov esi, edi
mov edx, 0x4189f4
sub esi, 4
jb 0x4027c4
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4027c9
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4027b3
cmp esi, 0xfffffffc
je 0x4027fd
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4027f6
cmp esi, 0xfffffffd
je 0x4027fd
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4027f6
cmp esi, 0xfffffffe
je 0x4027fd
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4027f6
cmp esi, 0xffffffff
je 0x4027fd
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4027fd
sbb eax, eax
or eax, 1
jmp 0x4027ff
xor eax, eax
test eax, eax
je 0x402884
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 9
jne 0x402980
mov esi, edi
mov edx, str.__capture
sub esi, 4
jb 0x402841
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x402846
add ecx, 4
add edx, 4
sub esi, 4
jae 0x402830
cmp esi, 0xfffffffc
je 0x40287a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x402873
cmp esi, 0xfffffffd
je 0x40287a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x402873
cmp esi, 0xfffffffe
je 0x40287a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x402873
cmp esi, 0xffffffff
je 0x40287a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40287a
sbb eax, eax
or eax, 1
jmp 0x40287c
xor eax, eax
test eax, eax
jne 0x402974
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x114]
inc edx
mov dword [ebp - 0x108], edx
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0x88], xmm0
mov edx, dword [eax + edx*4]
mov ecx, edx
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4028c0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.004012d0
mov byte [ebp - 4], 4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [ebp - 0x74], 0x10
lea esi, [ebp - 0x88]
mov edi, eax
lea eax, [ebp - 0x124]
cmovae esi, dword [ebp - 0x88]
push 0xa
push eax
push esi
mov dword [edi], 0
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add esp, 0xc
cmp esi, dword [ebp - 0x124]
je 0x403a3d
cmp dword [edi], 0x22
je 0x403a33
mov ecx, dword [ebp - 0x110]
mov byte [ebp - 4], 0
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x74]
cmp ecx, 0x10
jb 0x4023de
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40295f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4039d1
push ecx
push edx
call fcn.0041535b
mov esi, dword [ebp - 0x108]
add esp, 8
jmp 0x40395d
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 3
jne 0x402a00
mov esi, edi
mov edx, 0x418a04
sub esi, 4
jb 0x4029b1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4029b6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4029a0
cmp esi, 0xfffffffc
je 0x4029ea
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4029e3
cmp esi, 0xfffffffd
je 0x4029ea
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4029e3
cmp esi, 0xfffffffe
je 0x4029ea
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4029e3
cmp esi, 0xffffffff
je 0x4029ea
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4029ea
sbb eax, eax
or eax, 1
jmp 0x4029ec
xor eax, eax
test eax, eax
je 0x402a74
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xc
jne 0x402b76
mov esi, edi
mov edx, str.__max_tokens
sub esi, 4
jb 0x402a31
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x402a36
add ecx, 4
add edx, 4
sub esi, 4
jae 0x402a20
cmp esi, 0xfffffffc
je 0x402a6a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x402a63
cmp esi, 0xfffffffd
je 0x402a6a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x402a63
cmp esi, 0xfffffffe
je 0x402a6a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x402a63
cmp esi, 0xffffffff
je 0x402a6a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x402a6a
sbb eax, eax
or eax, 1
jmp 0x402a6c
xor eax, eax
test eax, eax
jne 0x402b6a
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x114]
inc edx
mov dword [ebp - 0x108], edx
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0xa0], xmm0
mov edx, dword [eax + edx*4]
mov ecx, edx
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402ab0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xa0]
call fcn.004012d0
mov byte [ebp - 4], 5
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [ebp - 0x8c], 0x10
lea esi, [ebp - 0xa0]
mov edi, eax
lea eax, [ebp - 0x128]
cmovae esi, dword [ebp - 0xa0]
push 0xa
push eax
push esi
mov dword [edi], 0
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add esp, 0xc
cmp esi, dword [ebp - 0x128]
je 0x403a3d
cmp dword [edi], 0x22
je 0x403a33
mov ecx, dword [ebp - 0x110]
mov byte [ebp - 4], 0
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0x8c]
cmp ecx, 0x10
jb 0x4023de
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402b55
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4039d1
push ecx
push edx
call fcn.0041535b
mov esi, dword [ebp - 0x108]
add esp, 8
jmp 0x40395d
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 3
jne 0x402bf0
mov esi, edi
mov edx, 0x418a18
sub esi, 4
jb 0x402ba1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x402ba6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x402b90
cmp esi, 0xfffffffc
je 0x402bda
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x402bd3
cmp esi, 0xfffffffd
je 0x402bda
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x402bd3
cmp esi, 0xfffffffe
je 0x402bda
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x402bd3
cmp esi, 0xffffffff
je 0x402bda
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x402bda
sbb eax, eax
or eax, 1
jmp 0x402bdc
xor eax, eax
test eax, eax
je 0x402c64
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xb
jne 0x402d66
mov esi, edi
mov edx, str.__audio_ctx
sub esi, 4
jb 0x402c21
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x402c26
add ecx, 4
add edx, 4
sub esi, 4
jae 0x402c10
cmp esi, 0xfffffffc
je 0x402c5a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x402c53
cmp esi, 0xfffffffd
je 0x402c5a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x402c53
cmp esi, 0xfffffffe
je 0x402c5a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x402c53
cmp esi, 0xffffffff
je 0x402c5a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x402c5a
sbb eax, eax
or eax, 1
jmp 0x402c5c
xor eax, eax
test eax, eax
jne 0x402d5a
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x114]
inc edx
mov dword [ebp - 0x108], edx
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0xb8], xmm0
mov edx, dword [eax + edx*4]
mov ecx, edx
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402ca0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xb8]
call fcn.004012d0
mov byte [ebp - 4], 6
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [ebp - 0xa4], 0x10
lea esi, [ebp - 0xb8]
mov edi, eax
lea eax, [ebp - 0x12c]
cmovae esi, dword [ebp - 0xb8]
push 0xa
push eax
push esi
mov dword [edi], 0
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add esp, 0xc
cmp esi, dword [ebp - 0x12c]
je 0x403a3d
cmp dword [edi], 0x22
je 0x403a33
mov ecx, dword [ebp - 0x110]
mov byte [ebp - 4], 0
mov dword [ecx + 0x14], eax
mov ecx, dword [ebp - 0xa4]
cmp ecx, 0x10
jb 0x4023de
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402d45
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4039d1
push ecx
push edx
call fcn.0041535b
mov esi, dword [ebp - 0x108]
add esp, 8
jmp 0x40395d
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 4
jne 0x402de2
mov esi, edi
mov edx, str._vth
sub esi, edi
jb 0x402d93
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x402d98
add ecx, 4
add edx, 4
sub esi, 4
jae 0x402d82
cmp esi, 0xfffffffc
je 0x402dcc
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x402dc5
cmp esi, 0xfffffffd
je 0x402dcc
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x402dc5
cmp esi, 0xfffffffe
je 0x402dcc
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x402dc5
cmp esi, 0xffffffff
je 0x402dcc
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x402dcc
sbb eax, eax
or eax, 1
jmp 0x402dce
xor eax, eax
test eax, eax
je 0x402e54
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xb
jne 0x402f64
mov esi, edi
mov edx, str.__vad_thold
sub esi, 4
jb 0x402e11
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x402e16
add ecx, 4
add edx, 4
sub esi, 4
jae 0x402e00
cmp esi, 0xfffffffc
je 0x402e4a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x402e43
cmp esi, 0xfffffffd
je 0x402e4a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x402e43
cmp esi, 0xfffffffe
je 0x402e4a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x402e43
cmp esi, 0xffffffff
je 0x402e4a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x402e4a
sbb eax, eax
or eax, 1
jmp 0x402e4c
xor eax, eax
test eax, eax
jne 0x402f58
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x114]
inc edx
mov dword [ebp - 0x108], edx
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0xd0], xmm0
mov edx, dword [eax + edx*4]
mov ecx, edx
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402e90
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xd0]
call fcn.004012d0
mov byte [ebp - 4], 7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [ebp - 0xbc], 0x10
lea esi, [ebp - 0xd0]
mov edi, eax
lea eax, [ebp - 0x130]
cmovae esi, dword [ebp - 0xd0]
push eax
push esi
mov dword [edi], 0
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtof]
add esp, 8
fstp dword [ebp - 0x10c]
cmp esi, dword [ebp - 0x130]
je 0x403a51
cmp dword [edi], 0x22
je 0x403a47
mov eax, dword [ebp - 0x110]
vmovss xmm0, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0xbc]
mov byte [ebp - 4], 0
vmovss dword [eax + 0x18], xmm0
cmp ecx, 0x10
jb 0x4023de
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402f43
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4039d1
push ecx
push edx
call fcn.0041535b
mov esi, dword [ebp - 0x108]
add esp, 8
jmp 0x40395d
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 4
jne 0x402fe0
mov esi, edi
mov edx, str._fth
sub esi, edi
jb 0x402f91
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x402f96
add ecx, 4
add edx, 4
sub esi, 4
jae 0x402f80
cmp esi, 0xfffffffc
je 0x402fca
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x402fc3
cmp esi, 0xfffffffd
je 0x402fca
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x402fc3
cmp esi, 0xfffffffe
je 0x402fca
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x402fc3
cmp esi, 0xffffffff
je 0x402fca
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x402fca
sbb eax, eax
or eax, 1
jmp 0x402fcc
xor eax, eax
test eax, eax
je 0x403054
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xc
jne 0x403164
mov esi, edi
mov edx, str.__freq_thold
sub esi, 4
jb 0x403011
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x403016
add ecx, 4
add edx, 4
sub esi, 4
jae 0x403000
cmp esi, 0xfffffffc
je 0x40304a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x403043
cmp esi, 0xfffffffd
je 0x40304a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x403043
cmp esi, 0xfffffffe
je 0x40304a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x403043
cmp esi, 0xffffffff
je 0x40304a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40304a
sbb eax, eax
or eax, 1
jmp 0x40304c
xor eax, eax
test eax, eax
jne 0x403158
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0x114]
inc edx
mov dword [ebp - 0x108], edx
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [ebp - 0xe8], xmm0
mov edx, dword [eax + edx*4]
mov ecx, edx
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403090
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xe8]
call fcn.004012d0
mov byte [ebp - 4], 8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [ebp - 0xd4], 0x10
lea esi, [ebp - 0xe8]
mov edi, eax
lea eax, [ebp - 0x134]
cmovae esi, dword [ebp - 0xe8]
push eax
push esi
mov dword [edi], 0
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtof]
add esp, 8
fstp dword [ebp - 0x10c]
cmp esi, dword [ebp - 0x134]
je 0x403a51
cmp dword [edi], 0x22
je 0x403a47
mov eax, dword [ebp - 0x110]
vmovss xmm0, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0xd4]
mov byte [ebp - 4], 0
vmovss dword [eax + 0x1c], xmm0
cmp ecx, 0x10
jb 0x4023de
mov edx, dword [ebp - 0xe8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403143
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4039d1
push ecx
push edx
call fcn.0041535b
mov esi, dword [ebp - 0x108]
add esp, 8
jmp 0x40395d
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 3
jne 0x4031e1
mov esi, edi
mov edx, 0x418a54
sub esi, 4
jb 0x403192
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x403197
add ecx, 4
add edx, 4
sub esi, 4
jae 0x403181
cmp esi, 0xfffffffc
je 0x4031cb
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4031c4
cmp esi, 0xfffffffd
je 0x4031cb
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4031c4
cmp esi, 0xfffffffe
je 0x4031cb
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4031c4
cmp esi, 0xffffffff
je 0x4031cb
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4031cb
sbb eax, eax
or eax, 1
jmp 0x4031cd
xor eax, eax
test eax, eax
je 0x403250
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xa
jne 0x403277
mov esi, edi
mov edx, str.__speed_up
sub esi, 4
jb 0x403211
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x403216
add ecx, 4
add edx, 4
sub esi, 4
jae 0x403200
cmp esi, 0xfffffffc
je 0x40324a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x403243
cmp esi, 0xfffffffd
je 0x40324a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x403243
cmp esi, 0xfffffffe
je 0x40324a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x403243
cmp esi, 0xffffffff
je 0x40324a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40324a
sbb eax, eax
or eax, 1
jmp 0x40324c
xor eax, eax
test eax, eax
jne 0x40326b
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
mov esi, dword [ebp - 0x108]
mov byte [eax + 0x24], 1
jmp 0x403960
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 3
jne 0x4032f4
mov esi, edi
mov edx, 0x418a64
sub esi, 4
jb 0x4032a5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4032aa
add ecx, 4
add edx, 4
sub esi, 4
jae 0x403294
cmp esi, 0xfffffffc
je 0x4032de
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4032d7
cmp esi, 0xfffffffd
je 0x4032de
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4032d7
cmp esi, 0xfffffffe
je 0x4032de
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4032d7
cmp esi, 0xffffffff
je 0x4032de
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4032de
sbb eax, eax
or eax, 1
jmp 0x4032e0
xor eax, eax
test eax, eax
je 0x403361
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xb
jne 0x403388
mov esi, edi
mov edx, str.__translate
sub esi, 4
jb 0x403322
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x403327
add ecx, 4
add edx, 4
sub esi, 4
jae 0x403311
cmp esi, 0xfffffffc
je 0x40335b
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x403354
cmp esi, 0xfffffffd
je 0x40335b
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x403354
cmp esi, 0xfffffffe
je 0x40335b
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x403354
cmp esi, 0xffffffff
je 0x40335b
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40335b
sbb eax, eax
or eax, 1
jmp 0x40335d
xor eax, eax
test eax, eax
jne 0x40337c
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
mov esi, dword [ebp - 0x108]
mov byte [eax + 0x25], 1
jmp 0x403960
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 3
jne 0x403405
mov esi, edi
mov edx, 0x418a74
sub esi, 4
jb 0x4033b6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4033bb
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4033a5
cmp esi, 0xfffffffc
je 0x4033ef
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4033e8
cmp esi, 0xfffffffd
je 0x4033ef
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4033e8
cmp esi, 0xfffffffe
je 0x4033ef
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4033e8
cmp esi, 0xffffffff
je 0x4033ef
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4033ef
sbb eax, eax
or eax, 1
jmp 0x4033f1
xor eax, eax
test eax, eax
je 0x403472
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xf
jne 0x403499
mov esi, edi
mov edx, str.__print_special
sub esi, 4
jb 0x403433
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x403438
add ecx, 4
add edx, 4
sub esi, 4
jae 0x403422
cmp esi, 0xfffffffc
je 0x40346c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x403465
cmp esi, 0xfffffffd
je 0x40346c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x403465
cmp esi, 0xfffffffe
je 0x40346c
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x403465
cmp esi, 0xffffffff
je 0x40346c
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40346c
sbb eax, eax
or eax, 1
jmp 0x40346e
xor eax, eax
test eax, eax
jne 0x40348d
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
mov esi, dword [ebp - 0x108]
mov byte [eax + 0x26], 1
jmp 0x403960
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 3
jne 0x403516
mov esi, edi
mov edx, 0x418a88
sub esi, 4
jb 0x4034c7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4034cc
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4034b6
cmp esi, 0xfffffffc
je 0x403500
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4034f9
cmp esi, 0xfffffffd
je 0x403500
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4034f9
cmp esi, 0xfffffffe
je 0x403500
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4034f9
cmp esi, 0xffffffff
je 0x403500
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x403500
sbb eax, eax
or eax, 1
jmp 0x403502
xor eax, eax
test eax, eax
je 0x403583
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xe
jne 0x4035aa
mov esi, edi
mov edx, str.__print_energy
sub esi, 4
jb 0x403544
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x403549
add ecx, 4
add edx, 4
sub esi, 4
jae 0x403533
cmp esi, 0xfffffffc
je 0x40357d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x403576
cmp esi, 0xfffffffd
je 0x40357d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x403576
cmp esi, 0xfffffffe
je 0x40357d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x403576
cmp esi, 0xffffffff
je 0x40357d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40357d
sbb eax, eax
or eax, 1
jmp 0x40357f
xor eax, eax
test eax, eax
jne 0x40359e
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
mov esi, dword [ebp - 0x108]
mov byte [eax + 0x27], 1
jmp 0x403960
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 3
jne 0x403627
mov esi, edi
mov edx, 0x418a9c
sub esi, 4
jb 0x4035d8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4035dd
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4035c7
cmp esi, 0xfffffffc
je 0x403611
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40360a
cmp esi, 0xfffffffd
je 0x403611
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40360a
cmp esi, 0xfffffffe
je 0x403611
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40360a
cmp esi, 0xffffffff
je 0x403611
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x403611
sbb eax, eax
or eax, 1
jmp 0x403613
xor eax, eax
test eax, eax
je 0x403694
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 8
jne 0x4036bb
mov esi, edi
mov edx, str.__no_gpu
sub esi, 4
jb 0x403655
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40365a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x403644
cmp esi, 0xfffffffc
je 0x40368e
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x403687
cmp esi, 0xfffffffd
je 0x40368e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x403687
cmp esi, 0xfffffffe
je 0x40368e
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x403687
cmp esi, 0xffffffff
je 0x40368e
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40368e
sbb eax, eax
or eax, 1
jmp 0x403690
xor eax, eax
test eax, eax
jne 0x4036af
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
mov esi, dword [ebp - 0x108]
mov byte [eax + 0x29], 0
jmp 0x403960
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 2
jne 0x403738
mov esi, edi
mov edx, 0x418aac
sub esi, 4
jb 0x4036e9
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4036ee
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4036d8
cmp esi, 0xfffffffc
je 0x403722
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40371b
cmp esi, 0xfffffffd
je 0x403722
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40371b
cmp esi, 0xfffffffe
je 0x403722
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40371b
cmp esi, 0xffffffff
je 0x403722
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x403722
sbb eax, eax
or eax, 1
jmp 0x403724
xor eax, eax
test eax, eax
je 0x4037a3
mov eax, dword [ebp - 0x10c]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xa
jne 0x4037b1
mov edx, str.__language
sub edi, 4
jb 0x403764
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x403769
add ecx, 4
add edx, 4
sub edi, 4
jae 0x403753
cmp edi, 0xfffffffc
je 0x40379d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x403796
cmp edi, 0xfffffffd
je 0x40379d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x403796
cmp edi, 0xfffffffe
je 0x40379d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x403796
cmp edi, 0xffffffff
je 0x40379d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40379d
sbb eax, eax
or eax, 1
jmp 0x40379f
xor eax, eax
test eax, eax
jne 0x4037b1
mov ecx, dword [ebp - 0x110]
lea ecx, [ecx + 0x2c]
jmp 0x403948
lea eax, [ebp - 0x28]
push 0x418abc
push eax
call fcn.00401240
add esp, 8
test al, al
jne 0x40393f
lea eax, [ebp - 0x28]
push str.__model
push eax
call fcn.00401240
add esp, 8
test al, al
jne 0x40393f
lea eax, [ebp - 0x28]
push 0x418ac8
push eax
call fcn.00401240
add esp, 8
test al, al
jne 0x403934
lea eax, [ebp - 0x28]
push str.__file
push eax
call fcn.00401240
add esp, 8
test al, al
jne 0x403934
lea eax, [ebp - 0x28]
push str._cmd
push eax
call fcn.00401240
add esp, 8
test al, al
jne 0x403929
lea eax, [ebp - 0x28]
push str.__commands
push eax
call fcn.00401240
add esp, 8
test al, al
jne 0x403929
lea eax, [ebp - 0x28]
push 0x418ae8
push eax
call fcn.00401240
add esp, 8
test al, al
jne 0x40391b
lea eax, [ebp - 0x28]
push str.__prompt
push eax
call fcn.00401240
add esp, 8
test al, al
jne 0x40391b
lea eax, [ebp - 0x28]
push str._ctx
push eax
call fcn.00401240
add esp, 8
test al, al
jne 0x40390d
lea eax, [ebp - 0x28]
push str.__context
push eax
call fcn.00401240
add esp, 8
test al, al
jne 0x40390d
lea eax, [ebp - 0x28]
push str.__grammar_penalty
push eax
call fcn.00401240
add esp, 8
test al, al
je 0x4039d7
mov esi, dword [ebp - 0x108]
lea ecx, [ebp - 0x100]
mov eax, dword [ebp - 0x114]
inc esi
push dword [eax + esi*4]
call fcn.00401460
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 9
push 0
push eax
call fcn.00402000
mov eax, dword [ebp - 0x110]
lea ecx, [ebp - 0x100]
add esp, 8
fstp dword [eax + 0x20]
call fcn.004015d0
jmp 0x40395d
mov ecx, dword [ebp - 0x110]
lea ecx, [ecx + 0xa4]
jmp 0x403948
mov ecx, dword [ebp - 0x110]
lea ecx, [ecx + 0x8c]
jmp 0x403948
mov ecx, dword [ebp - 0x110]
lea ecx, [ecx + 0x74]
jmp 0x403948
mov ecx, dword [ebp - 0x110]
lea ecx, [ecx + 0x5c]
jmp 0x403948
mov ecx, dword [ebp - 0x110]
lea ecx, [ecx + 0x44]
mov esi, dword [ebp - 0x108]
mov eax, dword [ebp - 0x114]
inc esi
push dword [eax + esi*4]
call fcn.00401950
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x403996
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x40398c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4039d1
push ecx
push edx
call fcn.0041535b
add esp, 8
inc esi
mov dword [ebp - 0x108], esi
cmp esi, dword [ebp + 8]
jge 0x403a16
mov ecx, dword [ebp - 0x114]
jmp 0x4020d3
push dword [ebp - 0x110]
mov eax, dword [ebp - 0x114]
push eax
push dword [ebp + 8]
call fcn.00403a60
add esp, 0xc
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
lea ecx, [ebp - 0x28]
call fcn.00401b90
push eax
push str.error:_unknown_argument:__s_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004042a0
push dword [ebp - 0x110]
mov eax, dword [ebp - 0x114]
push eax
push dword [ebp + 8]
call fcn.00403a60
add esp, 0x18
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004155ba
mov esp, ebp
pop ebp
ret
push str.stoi_argument_out_of_range
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
push str.invalid_stoi_argument
call sub.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const__
push str.stof_argument_out_of_range
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const__
push str.invalid_stof_argument
call sub.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const__
int3