Function at 0x409190
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x417477
mov eax, dword fs:[0]
push eax
sub esp, 0x128
mov eax, dword [0x41e404]
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 edi, 1
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], edi
cmp dword [ebp + 8], edi
jle 0x40b0a1
mov edx, dword [ecx + edi*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 0x409202
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.004013d0
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 - 0x108], eax
cmp edi, 2
jne 0x4092b0
mov esi, edi
mov edx, 0x4184e4
sub esi, 4
jb 0x409261
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x409266
add ecx, 4
add edx, 4
sub esi, 4
jae 0x409250
cmp esi, 0xfffffffc
je 0x40929a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x409293
cmp esi, 0xfffffffd
je 0x40929a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x409293
cmp esi, 0xfffffffe
je 0x40929a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x409293
cmp esi, 0xffffffff
je 0x40929a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40929a
sbb eax, eax
or eax, 1
jmp 0x40929c
xor eax, eax
test eax, eax
je 0x40b03c
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 6
jne 0x409330
mov esi, edi
mov edx, str.__help
sub esi, 4
jb 0x4092e1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4092e6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4092d0
cmp esi, 0xfffffffc
je 0x40931a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x409313
cmp esi, 0xfffffffd
je 0x40931a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x409313
cmp esi, 0xfffffffe
je 0x40931a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x409313
cmp esi, 0xffffffff
je 0x40931a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40931a
sbb eax, eax
or eax, 1
jmp 0x40931c
xor eax, eax
test eax, eax
je 0x40b03c
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 2
jne 0x4093b0
mov esi, edi
mov edx, 0x4184f0
sub esi, 4
jb 0x409361
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x409366
add ecx, 4
add edx, 4
sub esi, 4
jae 0x409350
cmp esi, 0xfffffffc
je 0x40939a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x409393
cmp esi, 0xfffffffd
je 0x40939a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x409393
cmp esi, 0xfffffffe
je 0x40939a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x409393
cmp esi, 0xffffffff
je 0x40939a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40939a
sbb eax, eax
or eax, 1
jmp 0x40939c
xor eax, eax
test eax, eax
je 0x409424
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 9
jne 0x409505
mov esi, edi
mov edx, str.__threads
sub esi, 4
jb 0x4093e1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4093e6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4093d0
cmp esi, 0xfffffffc
je 0x40941a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x409413
cmp esi, 0xfffffffd
je 0x40941a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x409413
cmp esi, 0xfffffffe
je 0x40941a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x409413
cmp esi, 0xffffffff
je 0x40941a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40941a
sbb eax, eax
or eax, 1
jmp 0x40941c
xor eax, eax
test eax, eax
jne 0x4094f9
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x114]
inc edx
mov dword [ebp - 0x10c], 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 0x409456
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x40]
call fcn.004013d0
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 0x40b0c8
cmp dword [edi], 0x22
je 0x40b0be
mov ecx, dword [ebp - 0x110]
mov byte [ebp - 4], 0
mov dword [ecx], eax
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x4094ee
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4094e4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b05c
push ecx
push edx
call fcn.00415c6f
add esp, 8
mov edi, dword [ebp - 0x10c]
jmp 0x40afe8
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 4
jne 0x409580
mov esi, edi
mov edx, str._pms
sub esi, edi
jb 0x409531
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x409536
add ecx, 4
add edx, 4
sub esi, 4
jae 0x409520
cmp esi, 0xfffffffc
je 0x40956a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x409563
cmp esi, 0xfffffffd
je 0x40956a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x409563
cmp esi, 0xfffffffe
je 0x40956a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x409563
cmp esi, 0xffffffff
je 0x40956a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40956a
sbb eax, eax
or eax, 1
jmp 0x40956c
xor eax, eax
test eax, eax
je 0x4095f4
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xb
jne 0x4096da
mov esi, edi
mov edx, str.__prompt_ms
sub esi, 4
jb 0x4095b1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4095b6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4095a0
cmp esi, 0xfffffffc
je 0x4095ea
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4095e3
cmp esi, 0xfffffffd
je 0x4095ea
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4095e3
cmp esi, 0xfffffffe
je 0x4095ea
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4095e3
cmp esi, 0xffffffff
je 0x4095ea
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4095ea
sbb eax, eax
or eax, 1
jmp 0x4095ec
xor eax, eax
test eax, eax
jne 0x4096ce
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x114]
inc edx
mov dword [ebp - 0x10c], 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 0x409626
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x58]
call fcn.004013d0
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 0x40b0c8
cmp dword [edi], 0x22
je 0x40b0be
mov ecx, dword [ebp - 0x110]
mov byte [ebp - 4], 0
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x4094ee
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4096b9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b05c
push ecx
push edx
call fcn.00415c6f
mov edi, dword [ebp - 0x10c]
add esp, 8
jmp 0x40afe8
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 4
jne 0x409752
mov esi, edi
mov edx, str._cms
sub esi, edi
jb 0x409703
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x409708
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4096f2
cmp esi, 0xfffffffc
je 0x40973c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x409735
cmp esi, 0xfffffffd
je 0x40973c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x409735
cmp esi, 0xfffffffe
je 0x40973c
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x409735
cmp esi, 0xffffffff
je 0x40973c
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40973c
sbb eax, eax
or eax, 1
jmp 0x40973e
xor eax, eax
test eax, eax
je 0x4097c4
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xc
jne 0x4098aa
mov esi, edi
mov edx, str.__command_ms
sub esi, 4
jb 0x409781
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x409786
add ecx, 4
add edx, 4
sub esi, 4
jae 0x409770
cmp esi, 0xfffffffc
je 0x4097ba
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4097b3
cmp esi, 0xfffffffd
je 0x4097ba
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4097b3
cmp esi, 0xfffffffe
je 0x4097ba
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4097b3
cmp esi, 0xffffffff
je 0x4097ba
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4097ba
sbb eax, eax
or eax, 1
jmp 0x4097bc
xor eax, eax
test eax, eax
jne 0x40989e
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x114]
inc edx
mov dword [ebp - 0x10c], 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 0x4097f6
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x70]
call fcn.004013d0
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 0x40b0c8
cmp dword [edi], 0x22
je 0x40b0be
mov ecx, dword [ebp - 0x110]
mov byte [ebp - 4], 0
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0x10
jb 0x4094ee
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x409889
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b05c
push ecx
push edx
call fcn.00415c6f
mov edi, dword [ebp - 0x10c]
add esp, 8
jmp 0x40afe8
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 2
jne 0x409923
mov esi, edi
mov edx, 0x41852c
sub esi, 4
jb 0x4098d4
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4098d9
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4098c3
cmp esi, 0xfffffffc
je 0x40990d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x409906
cmp esi, 0xfffffffd
je 0x40990d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x409906
cmp esi, 0xfffffffe
je 0x40990d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x409906
cmp esi, 0xffffffff
je 0x40990d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40990d
sbb eax, eax
or eax, 1
jmp 0x40990f
xor eax, eax
test eax, eax
je 0x409994
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 9
jne 0x409a90
mov esi, edi
mov edx, str.__capture
sub esi, 4
jb 0x409951
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x409956
add ecx, 4
add edx, 4
sub esi, 4
jae 0x409940
cmp esi, 0xfffffffc
je 0x40998a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x409983
cmp esi, 0xfffffffd
je 0x40998a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x409983
cmp esi, 0xfffffffe
je 0x40998a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x409983
cmp esi, 0xffffffff
je 0x40998a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40998a
sbb eax, eax
or eax, 1
jmp 0x40998c
xor eax, eax
test eax, eax
jne 0x409a84
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x114]
inc edx
mov dword [ebp - 0x10c], 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 0x4099d0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.004013d0
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 0x40b0c8
cmp dword [edi], 0x22
je 0x40b0be
mov ecx, dword [ebp - 0x110]
mov byte [ebp - 4], 0
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x74]
cmp ecx, 0x10
jb 0x4094ee
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x409a6f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b05c
push ecx
push edx
call fcn.00415c6f
mov edi, dword [ebp - 0x10c]
add esp, 8
jmp 0x40afe8
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 3
jne 0x409b10
mov esi, edi
mov edx, 0x41853c
sub esi, 4
jb 0x409ac1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x409ac6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x409ab0
cmp esi, 0xfffffffc
je 0x409afa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x409af3
cmp esi, 0xfffffffd
je 0x409afa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x409af3
cmp esi, 0xfffffffe
je 0x409afa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x409af3
cmp esi, 0xffffffff
je 0x409afa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x409afa
sbb eax, eax
or eax, 1
jmp 0x409afc
xor eax, eax
test eax, eax
je 0x409b84
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xc
jne 0x409c86
mov esi, edi
mov edx, str.__max_tokens
sub esi, 4
jb 0x409b41
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x409b46
add ecx, 4
add edx, 4
sub esi, 4
jae 0x409b30
cmp esi, 0xfffffffc
je 0x409b7a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x409b73
cmp esi, 0xfffffffd
je 0x409b7a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x409b73
cmp esi, 0xfffffffe
je 0x409b7a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x409b73
cmp esi, 0xffffffff
je 0x409b7a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x409b7a
sbb eax, eax
or eax, 1
jmp 0x409b7c
xor eax, eax
test eax, eax
jne 0x409c7a
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x114]
inc edx
mov dword [ebp - 0x10c], 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 0x409bc0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xa0]
call fcn.004013d0
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 0x40b0c8
cmp dword [edi], 0x22
je 0x40b0be
mov ecx, dword [ebp - 0x110]
mov byte [ebp - 4], 0
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0x8c]
cmp ecx, 0x10
jb 0x4094ee
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x409c65
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b05c
push ecx
push edx
call fcn.00415c6f
mov edi, dword [ebp - 0x10c]
add esp, 8
jmp 0x40afe8
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 3
jne 0x409d00
mov esi, edi
mov edx, 0x418550
sub esi, 4
jb 0x409cb1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x409cb6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x409ca0
cmp esi, 0xfffffffc
je 0x409cea
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x409ce3
cmp esi, 0xfffffffd
je 0x409cea
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x409ce3
cmp esi, 0xfffffffe
je 0x409cea
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x409ce3
cmp esi, 0xffffffff
je 0x409cea
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x409cea
sbb eax, eax
or eax, 1
jmp 0x409cec
xor eax, eax
test eax, eax
je 0x409d74
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xb
jne 0x409e76
mov esi, edi
mov edx, str.__audio_ctx
sub esi, 4
jb 0x409d31
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x409d36
add ecx, 4
add edx, 4
sub esi, 4
jae 0x409d20
cmp esi, 0xfffffffc
je 0x409d6a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x409d63
cmp esi, 0xfffffffd
je 0x409d6a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x409d63
cmp esi, 0xfffffffe
je 0x409d6a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x409d63
cmp esi, 0xffffffff
je 0x409d6a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x409d6a
sbb eax, eax
or eax, 1
jmp 0x409d6c
xor eax, eax
test eax, eax
jne 0x409e6a
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x114]
inc edx
mov dword [ebp - 0x10c], 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 0x409db0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xb8]
call fcn.004013d0
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 0x40b0c8
cmp dword [edi], 0x22
je 0x40b0be
mov ecx, dword [ebp - 0x110]
mov byte [ebp - 4], 0
mov dword [ecx + 0x14], eax
mov ecx, dword [ebp - 0xa4]
cmp ecx, 0x10
jb 0x4094ee
mov edx, dword [ebp - 0xb8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x409e55
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b05c
push ecx
push edx
call fcn.00415c6f
mov edi, dword [ebp - 0x10c]
add esp, 8
jmp 0x40afe8
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 4
jne 0x409ef2
mov esi, edi
mov edx, str._vth
sub esi, edi
jb 0x409ea3
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x409ea8
add ecx, 4
add edx, 4
sub esi, 4
jae 0x409e92
cmp esi, 0xfffffffc
je 0x409edc
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x409ed5
cmp esi, 0xfffffffd
je 0x409edc
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x409ed5
cmp esi, 0xfffffffe
je 0x409edc
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x409ed5
cmp esi, 0xffffffff
je 0x409edc
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x409edc
sbb eax, eax
or eax, 1
jmp 0x409ede
xor eax, eax
test eax, eax
je 0x409f64
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xb
jne 0x40a074
mov esi, edi
mov edx, str.__vad_thold
sub esi, 4
jb 0x409f21
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x409f26
add ecx, 4
add edx, 4
sub esi, 4
jae 0x409f10
cmp esi, 0xfffffffc
je 0x409f5a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x409f53
cmp esi, 0xfffffffd
je 0x409f5a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x409f53
cmp esi, 0xfffffffe
je 0x409f5a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x409f53
cmp esi, 0xffffffff
je 0x409f5a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x409f5a
sbb eax, eax
or eax, 1
jmp 0x409f5c
xor eax, eax
test eax, eax
jne 0x40a068
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x114]
inc edx
mov dword [ebp - 0x10c], 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 0x409fa0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xd0]
call fcn.004013d0
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 - 0x108]
cmp esi, dword [ebp - 0x130]
je 0x40b0dc
cmp dword [edi], 0x22
je 0x40b0d2
mov eax, dword [ebp - 0x110]
vmovss xmm0, dword [ebp - 0x108]
mov ecx, dword [ebp - 0xbc]
mov byte [ebp - 4], 0
vmovss dword [eax + 0x18], xmm0
cmp ecx, 0x10
jb 0x4094ee
mov edx, dword [ebp - 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a053
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b05c
push ecx
push edx
call fcn.00415c6f
mov edi, dword [ebp - 0x10c]
add esp, 8
jmp 0x40afe8
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 4
jne 0x40a0f0
mov esi, edi
mov edx, str._fth
sub esi, edi
jb 0x40a0a1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40a0a6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40a090
cmp esi, 0xfffffffc
je 0x40a0da
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40a0d3
cmp esi, 0xfffffffd
je 0x40a0da
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40a0d3
cmp esi, 0xfffffffe
je 0x40a0da
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40a0d3
cmp esi, 0xffffffff
je 0x40a0da
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40a0da
sbb eax, eax
or eax, 1
jmp 0x40a0dc
xor eax, eax
test eax, eax
je 0x40a164
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xc
jne 0x40a274
mov esi, edi
mov edx, str.__freq_thold
sub esi, 4
jb 0x40a121
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40a126
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40a110
cmp esi, 0xfffffffc
je 0x40a15a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40a153
cmp esi, 0xfffffffd
je 0x40a15a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40a153
cmp esi, 0xfffffffe
je 0x40a15a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40a153
cmp esi, 0xffffffff
je 0x40a15a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40a15a
sbb eax, eax
or eax, 1
jmp 0x40a15c
xor eax, eax
test eax, eax
jne 0x40a268
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x114]
inc edx
mov dword [ebp - 0x10c], 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 0x40a1a0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xe8]
call fcn.004013d0
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 - 0x108]
cmp esi, dword [ebp - 0x134]
je 0x40b0dc
cmp dword [edi], 0x22
je 0x40b0d2
mov eax, dword [ebp - 0x110]
vmovss xmm0, dword [ebp - 0x108]
mov ecx, dword [ebp - 0xd4]
mov byte [ebp - 4], 0
vmovss dword [eax + 0x1c], xmm0
cmp ecx, 0x10
jb 0x4094ee
mov edx, dword [ebp - 0xe8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40a253
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b05c
push ecx
push edx
call fcn.00415c6f
mov edi, dword [ebp - 0x10c]
add esp, 8
jmp 0x40afe8
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 3
jne 0x40a2f1
mov esi, edi
mov edx, 0x41858c
sub esi, 4
jb 0x40a2a2
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40a2a7
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40a291
cmp esi, 0xfffffffc
je 0x40a2db
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40a2d4
cmp esi, 0xfffffffd
je 0x40a2db
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40a2d4
cmp esi, 0xfffffffe
je 0x40a2db
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40a2d4
cmp esi, 0xffffffff
je 0x40a2db
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40a2db
sbb eax, eax
or eax, 1
jmp 0x40a2dd
xor eax, eax
test eax, eax
je 0x40a360
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xa
jne 0x40a387
mov esi, edi
mov edx, str.__speed_up
sub esi, 4
jb 0x40a321
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40a326
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40a310
cmp esi, 0xfffffffc
je 0x40a35a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40a353
cmp esi, 0xfffffffd
je 0x40a35a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40a353
cmp esi, 0xfffffffe
je 0x40a35a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40a353
cmp esi, 0xffffffff
je 0x40a35a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40a35a
sbb eax, eax
or eax, 1
jmp 0x40a35c
xor eax, eax
test eax, eax
jne 0x40a37b
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x108]
mov edi, dword [ebp - 0x10c]
mov byte [eax + 0x38], 1
jmp 0x40afeb
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 3
jne 0x40a404
mov esi, edi
mov edx, 0x41859c
sub esi, 4
jb 0x40a3b5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40a3ba
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40a3a4
cmp esi, 0xfffffffc
je 0x40a3ee
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40a3e7
cmp esi, 0xfffffffd
je 0x40a3ee
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40a3e7
cmp esi, 0xfffffffe
je 0x40a3ee
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40a3e7
cmp esi, 0xffffffff
je 0x40a3ee
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40a3ee
sbb eax, eax
or eax, 1
jmp 0x40a3f0
xor eax, eax
test eax, eax
je 0x40a471
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xb
jne 0x40a498
mov esi, edi
mov edx, str.__translate
sub esi, 4
jb 0x40a432
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40a437
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40a421
cmp esi, 0xfffffffc
je 0x40a46b
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40a464
cmp esi, 0xfffffffd
je 0x40a46b
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40a464
cmp esi, 0xfffffffe
je 0x40a46b
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40a464
cmp esi, 0xffffffff
je 0x40a46b
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40a46b
sbb eax, eax
or eax, 1
jmp 0x40a46d
xor eax, eax
test eax, eax
jne 0x40a48c
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x108]
mov edi, dword [ebp - 0x10c]
mov byte [eax + 0x39], 1
jmp 0x40afeb
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 3
jne 0x40a515
mov esi, edi
mov edx, 0x4185ac
sub esi, 4
jb 0x40a4c6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40a4cb
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40a4b5
cmp esi, 0xfffffffc
je 0x40a4ff
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40a4f8
cmp esi, 0xfffffffd
je 0x40a4ff
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40a4f8
cmp esi, 0xfffffffe
je 0x40a4ff
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40a4f8
cmp esi, 0xffffffff
je 0x40a4ff
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40a4ff
sbb eax, eax
or eax, 1
jmp 0x40a501
xor eax, eax
test eax, eax
je 0x40a582
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xf
jne 0x40a5a9
mov esi, edi
mov edx, str.__print_special
sub esi, 4
jb 0x40a543
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40a548
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40a532
cmp esi, 0xfffffffc
je 0x40a57c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40a575
cmp esi, 0xfffffffd
je 0x40a57c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40a575
cmp esi, 0xfffffffe
je 0x40a57c
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40a575
cmp esi, 0xffffffff
je 0x40a57c
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40a57c
sbb eax, eax
or eax, 1
jmp 0x40a57e
xor eax, eax
test eax, eax
jne 0x40a59d
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x108]
mov edi, dword [ebp - 0x10c]
mov byte [eax + 0x3a], 1
jmp 0x40afeb
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 3
jne 0x40a626
mov esi, edi
mov edx, 0x4185c0
sub esi, 4
jb 0x40a5d7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40a5dc
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40a5c6
cmp esi, 0xfffffffc
je 0x40a610
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40a609
cmp esi, 0xfffffffd
je 0x40a610
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40a609
cmp esi, 0xfffffffe
je 0x40a610
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40a609
cmp esi, 0xffffffff
je 0x40a610
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40a610
sbb eax, eax
or eax, 1
jmp 0x40a612
xor eax, eax
test eax, eax
je 0x40a693
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xe
jne 0x40a6ba
mov esi, edi
mov edx, str.__print_energy
sub esi, 4
jb 0x40a654
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40a659
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40a643
cmp esi, 0xfffffffc
je 0x40a68d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40a686
cmp esi, 0xfffffffd
je 0x40a68d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40a686
cmp esi, 0xfffffffe
je 0x40a68d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40a686
cmp esi, 0xffffffff
je 0x40a68d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40a68d
sbb eax, eax
or eax, 1
jmp 0x40a68f
xor eax, eax
test eax, eax
jne 0x40a6ae
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x108]
mov edi, dword [ebp - 0x10c]
mov byte [eax + 0x3b], 1
jmp 0x40afeb
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 3
jne 0x40a737
mov esi, edi
mov edx, 0x4185d4
sub esi, 4
jb 0x40a6e8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40a6ed
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40a6d7
cmp esi, 0xfffffffc
je 0x40a721
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40a71a
cmp esi, 0xfffffffd
je 0x40a721
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40a71a
cmp esi, 0xfffffffe
je 0x40a721
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40a71a
cmp esi, 0xffffffff
je 0x40a721
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40a721
sbb eax, eax
or eax, 1
jmp 0x40a723
xor eax, eax
test eax, eax
je 0x40a7a4
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 8
jne 0x40a7cb
mov esi, edi
mov edx, str.__no_gpu
sub esi, 4
jb 0x40a765
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40a76a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40a754
cmp esi, 0xfffffffc
je 0x40a79e
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40a797
cmp esi, 0xfffffffd
je 0x40a79e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40a797
cmp esi, 0xfffffffe
je 0x40a79e
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40a797
cmp esi, 0xffffffff
je 0x40a79e
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40a79e
sbb eax, eax
or eax, 1
jmp 0x40a7a0
xor eax, eax
test eax, eax
jne 0x40a7bf
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x108]
mov edi, dword [ebp - 0x10c]
mov byte [eax + 0x3d], 0
jmp 0x40afeb
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 2
jne 0x40a848
mov esi, edi
mov edx, 0x4185e4
sub esi, 4
jb 0x40a7f9
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40a7fe
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40a7e8
cmp esi, 0xfffffffc
je 0x40a832
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40a82b
cmp esi, 0xfffffffd
je 0x40a832
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40a82b
cmp esi, 0xfffffffe
je 0x40a832
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40a82b
cmp esi, 0xffffffff
je 0x40a832
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40a832
sbb eax, eax
or eax, 1
jmp 0x40a834
xor eax, eax
test eax, eax
je 0x40a8b5
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xa
jne 0x40a8fa
mov esi, edi
mov edx, str.__language
sub esi, 4
jb 0x40a876
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40a87b
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40a865
cmp esi, 0xfffffffc
je 0x40a8af
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40a8a8
cmp esi, 0xfffffffd
je 0x40a8af
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40a8a8
cmp esi, 0xfffffffe
je 0x40a8af
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40a8a8
cmp esi, 0xffffffff
je 0x40a8af
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40a8af
sbb eax, eax
or eax, 1
jmp 0x40a8b1
xor eax, eax
test eax, eax
jne 0x40a8ee
mov edi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x114]
inc edi
mov edx, dword [eax + edi*4]
mov ecx, edx
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a8d0
sub ecx, esi
push ecx
mov ecx, dword [ebp - 0x110]
push edx
lea ecx, [ecx + 0x40]
call fcn.004050e0
jmp 0x40afe8
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 2
jne 0x40a977
mov esi, edi
mov edx, 0x4185f4
sub esi, 4
jb 0x40a928
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40a92d
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40a917
cmp esi, 0xfffffffc
je 0x40a961
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40a95a
cmp esi, 0xfffffffd
je 0x40a961
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40a95a
cmp esi, 0xfffffffe
je 0x40a961
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40a95a
cmp esi, 0xffffffff
je 0x40a961
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40a961
sbb eax, eax
or eax, 1
jmp 0x40a963
xor eax, eax
test eax, eax
je 0x40a9e4
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 7
jne 0x40aa13
mov esi, edi
mov edx, str.__model
sub esi, 4
jb 0x40a9a5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40a9aa
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40a994
cmp esi, 0xfffffffc
je 0x40a9de
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40a9d7
cmp esi, 0xfffffffd
je 0x40a9de
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40a9d7
cmp esi, 0xfffffffe
je 0x40a9de
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40a9d7
cmp esi, 0xffffffff
je 0x40a9de
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40a9de
sbb eax, eax
or eax, 1
jmp 0x40a9e0
xor eax, eax
test eax, eax
jne 0x40aa07
mov edi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x114]
inc edi
mov ecx, dword [ebp - 0x110]
push dword [eax + edi*4]
lea ecx, [ecx + 0x58]
call fcn.00403ec0
jmp 0x40afe8
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 2
jne 0x40aa90
mov esi, edi
mov edx, 0x418600
sub esi, 4
jb 0x40aa41
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40aa46
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40aa30
cmp esi, 0xfffffffc
je 0x40aa7a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40aa73
cmp esi, 0xfffffffd
je 0x40aa7a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40aa73
cmp esi, 0xfffffffe
je 0x40aa7a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40aa73
cmp esi, 0xffffffff
je 0x40aa7a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40aa7a
sbb eax, eax
or eax, 1
jmp 0x40aa7c
xor eax, eax
test eax, eax
je 0x40ab00
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 6
jne 0x40ab2f
mov esi, edi
mov edx, str.__file
sub esi, 4
jb 0x40aac1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40aac6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40aab0
cmp esi, 0xfffffffc
je 0x40aafa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40aaf3
cmp esi, 0xfffffffd
je 0x40aafa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40aaf3
cmp esi, 0xfffffffe
je 0x40aafa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40aaf3
cmp esi, 0xffffffff
je 0x40aafa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40aafa
sbb eax, eax
or eax, 1
jmp 0x40aafc
xor eax, eax
test eax, eax
jne 0x40ab23
mov edi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x114]
inc edi
mov ecx, dword [ebp - 0x110]
push dword [eax + edi*4]
lea ecx, [ecx + 0x70]
call fcn.00403ec0
jmp 0x40afe8
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 4
jne 0x40abb0
mov esi, edi
mov edx, str._cmd
sub esi, edi
jb 0x40ab61
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40ab66
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40ab50
cmp esi, 0xfffffffc
je 0x40ab9a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40ab93
cmp esi, 0xfffffffd
je 0x40ab9a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40ab93
cmp esi, 0xfffffffe
je 0x40ab9a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40ab93
cmp esi, 0xffffffff
je 0x40ab9a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40ab9a
sbb eax, eax
or eax, 1
jmp 0x40ab9c
xor eax, eax
test eax, eax
je 0x40ac20
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0xa
jne 0x40ac52
mov esi, edi
mov edx, str.__commands
sub esi, 4
jb 0x40abe1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40abe6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40abd0
cmp esi, 0xfffffffc
je 0x40ac1a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40ac13
cmp esi, 0xfffffffd
je 0x40ac1a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40ac13
cmp esi, 0xfffffffe
je 0x40ac1a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40ac13
cmp esi, 0xffffffff
je 0x40ac1a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40ac1a
sbb eax, eax
or eax, 1
jmp 0x40ac1c
xor eax, eax
test eax, eax
jne 0x40ac46
mov edi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x114]
inc edi
mov ecx, dword [ebp - 0x110]
push dword [eax + edi*4]
lea ecx, [ecx + 0x88]
call fcn.00403ec0
jmp 0x40afe8
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 2
jne 0x40acd0
mov esi, edi
mov edx, 0x418620
sub esi, 4
jb 0x40ac81
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40ac86
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40ac70
cmp esi, 0xfffffffc
je 0x40acba
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40acb3
cmp esi, 0xfffffffd
je 0x40acba
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40acb3
cmp esi, 0xfffffffe
je 0x40acba
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40acb3
cmp esi, 0xffffffff
je 0x40acba
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40acba
sbb eax, eax
or eax, 1
jmp 0x40acbc
xor eax, eax
test eax, eax
je 0x40ad40
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 8
jne 0x40ad72
mov esi, edi
mov edx, str.__prompt
sub esi, 4
jb 0x40ad01
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40ad06
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40acf0
cmp esi, 0xfffffffc
je 0x40ad3a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40ad33
cmp esi, 0xfffffffd
je 0x40ad3a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40ad33
cmp esi, 0xfffffffe
je 0x40ad3a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40ad33
cmp esi, 0xffffffff
je 0x40ad3a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40ad3a
sbb eax, eax
or eax, 1
jmp 0x40ad3c
xor eax, eax
test eax, eax
jne 0x40ad66
mov edi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x114]
inc edi
mov ecx, dword [ebp - 0x110]
push dword [eax + edi*4]
lea ecx, [ecx + 0xa0]
call fcn.00403ec0
jmp 0x40afe8
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 4
jne 0x40adf0
mov esi, edi
mov edx, str._ctx
sub esi, edi
jb 0x40ada1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40ada6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40ad90
cmp esi, 0xfffffffc
je 0x40adda
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40add3
cmp esi, 0xfffffffd
je 0x40adda
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40add3
cmp esi, 0xfffffffe
je 0x40adda
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40add3
cmp esi, 0xffffffff
je 0x40adda
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40adda
sbb eax, eax
or eax, 1
jmp 0x40addc
xor eax, eax
test eax, eax
je 0x40ae60
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 9
jne 0x40ae92
mov esi, edi
mov edx, str.__context
sub esi, 4
jb 0x40ae21
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40ae26
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40ae10
cmp esi, 0xfffffffc
je 0x40ae5a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40ae53
cmp esi, 0xfffffffd
je 0x40ae5a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40ae53
cmp esi, 0xfffffffe
je 0x40ae5a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40ae53
cmp esi, 0xffffffff
je 0x40ae5a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40ae5a
sbb eax, eax
or eax, 1
jmp 0x40ae5c
xor eax, eax
test eax, eax
jne 0x40ae86
mov edi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x114]
inc edi
mov ecx, dword [ebp - 0x110]
push dword [eax + edi*4]
lea ecx, [ecx + 0xb8]
call fcn.00403ec0
jmp 0x40afe8
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 9
jne 0x40af32
mov esi, edi
mov edx, str.__grammar
sub esi, 4
jb 0x40aec1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40aec6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40aeb0
cmp esi, 0xfffffffc
je 0x40aefa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40aef3
cmp esi, 0xfffffffd
je 0x40aefa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40aef3
cmp esi, 0xfffffffe
je 0x40aefa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40aef3
cmp esi, 0xffffffff
je 0x40aefa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40aefa
sbb eax, eax
or eax, 1
jmp 0x40aefc
xor eax, eax
test eax, eax
jne 0x40af26
mov edi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x114]
inc edi
mov ecx, dword [ebp - 0x110]
push dword [eax + edi*4]
lea ecx, [ecx + 0xd0]
call fcn.00403ec0
jmp 0x40afe8
mov eax, dword [ebp - 0x108]
mov dl, byte [ebp - 0x101]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, eax
cmp edi, 0x11
jne 0x40b062
mov edx, str.__grammar_penalty
sub edi, 4
jb 0x40af61
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40af66
add ecx, 4
add edx, 4
sub edi, 4
jae 0x40af50
cmp edi, 0xfffffffc
je 0x40af9a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40af93
cmp edi, 0xfffffffd
je 0x40af9a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40af93
cmp edi, 0xfffffffe
je 0x40af9a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40af93
cmp edi, 0xffffffff
je 0x40af9a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40af9a
sbb eax, eax
or eax, 1
jmp 0x40af9c
xor eax, eax
test eax, eax
jne 0x40b062
mov edi, dword [ebp - 0x10c]
lea ecx, [ebp - 0x100]
mov eax, dword [ebp - 0x114]
inc edi
push dword [eax + edi*4]
call fcn.004032a0
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 9
push 0
push eax
call fcn.004087d0
mov eax, dword [ebp - 0x110]
lea ecx, [ebp - 0x100]
add esp, 8
fstp dword [eax + 0x20]
call fcn.00403880
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0x10
jb 0x40b021
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b017
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b05c
push ecx
push edx
call fcn.00415c6f
add esp, 8
inc edi
mov dword [ebp - 0x10c], edi
cmp edi, dword [ebp + 8]
jge 0x40b0a1
mov ecx, dword [ebp - 0x114]
jmp 0x4091e3
push dword [ebp - 0x110]
mov eax, dword [ebp - 0x114]
push eax
push dword [ebp + 8]
call fcn.0040b0f0
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.004051d0
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.0040bb80
push dword [ebp - 0x110]
mov eax, dword [ebp - 0x114]
push eax
push dword [ebp + 8]
call fcn.0040b0f0
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.00415c7d
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