Function at 0x410640
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xcbc
mov eax, dword [0x68f014]
xor eax, esp
mov dword [esp + 0xcb8], eax
push ebx
push esi
push edi
push 0xc80
xor edi, edi
mov dword [esp + 0x1c], ecx
lea eax, [esp + 0x24]
push edi
push eax
call fcn.005d1880
mov eax, dword [0x6a0264]
add esp, 0xc
mov esi, dword [0x6b0278]
test eax, eax
jne 0x4106a6
lea edx, [esp + 0x10]
mov dword [esp + 0x10], edi
mov ecx, str.c_bg_samplerate
call fcn.00406e80
mov dword [0x6a0264], eax
test eax, eax
jne 0x4106a6
mov eax, dword [esp + 0x10]
jmp 0x4106ae
push 0
push esi
call eax
add esp, 8
mov esi, dword [0x6b0278]
mov dword [0x6b027c], eax
mov eax, dword [0x6a026c]
test eax, eax
jne 0x4106dd
lea edx, [esp + 0x10]
mov dword [esp + 0x10], edi
mov ecx, str.c_bg_usb2_capture_config
call fcn.00406e80
mov dword [0x6a026c], eax
test eax, eax
je 0x4106e5
push 0
push esi
call eax
add esp, 8
mov eax, dword [0x6a023c]
mov esi, dword [0x6b0278]
test eax, eax
jne 0x41070f
lea edx, [esp + 0x10]
mov dword [esp + 0x10], edi
mov ecx, str.c_bg_usb2_target_config
call fcn.00406e80
mov dword [0x6a023c], eax
test eax, eax
je 0x410717
push 0
push esi
call eax
add esp, 8
mov eax, dword [0x6a0268]
mov esi, dword [0x6b0278]
test eax, eax
jne 0x410741
lea edx, [esp + 0x10]
mov dword [esp + 0x10], edi
mov ecx, str.c_bg_usb_configure
call fcn.00406e80
mov dword [0x6a0268], eax
test eax, eax
je 0x41074b
push 1
push 2
push esi
call eax
add esp, 0xc
mov eax, dword [0x6a0274]
mov esi, dword [0x6b0278]
test eax, eax
jne 0x410775
lea edx, [esp + 0x10]
mov dword [esp + 0x10], edi
mov ecx, str.c_bg_usb2_hw_filter_config
call fcn.00406e80
mov dword [0x6a0274], eax
test eax, eax
je 0x41077d
push 0x20
push esi
call eax
add esp, 8
mov eax, dword [0x6a0258]
mov esi, dword [0x6b0278]
test eax, eax
jne 0x4107ad
lea edx, [esp + 0x10]
mov dword [esp + 0x10], edi
mov ecx, str.c_bg_enable
call fcn.00406e80
mov dword [0x6a0258], eax
test eax, eax
jne 0x4107ad
mov eax, dword [esp + 0x10]
jmp 0x4107b5
push 2
push esi
call eax
add esp, 8
test eax, eax
jne 0x410b4c
push str.index_time_ns__USB_status_pid_data0_..._dataN___n
call fcn.00410fc0
add esp, 4
push 1
call fcn.005d8cef
add esp, 4
push eax
call fcn.005d9337
add esp, 4
cmp byte [0x69eae5], 0
je 0x410b07
mov ecx, dword [esp + 0xc9c]
nop dword [eax]
nop word [eax + eax]
mov esi, dword [0x6b0278]
lea ebx, [esp + 0x20]
imul eax, ecx, 0x428
mov ecx, dword [0x6a024c]
add ebx, eax
mov dword [esp + 0x1c], ebx
test ecx, ecx
jne 0x410844
mov dword [esp + 0x10], ecx
lea edx, [esp + 0x10]
mov ecx, str.c_bg_usb2_read
call fcn.00406e80
mov ecx, eax
mov dword [0x6a024c], ecx
test ecx, ecx
jne 0x410844
mov eax, dword [esp + 0x10]
jmp 0x410873
push ebx
push 0x400
lea eax, [ebx + 0x418]
push eax
lea eax, [ebx + 0x410]
push eax
lea eax, [ebx + 0x400]
push eax
lea eax, [ebx + 0x420]
push eax
lea eax, [ebx + 0x41c]
push eax
push esi
call ecx
add esp, 0x20
mov dword [esp + 0x10], eax
mov ecx, 0x3e8
mov dword [ebx + 0x424], eax
mov eax, dword [ebx + 0x404]
mul ecx
push 0
mov esi, eax
mov eax, dword [ebx + 0x400]
mul ecx
mov ecx, eax
add esi, edx
mov eax, 0x10624dd3
mul dword [0x6b027c]
shr edx, 6
push edx
push esi
push ecx
call fcn.005f6da0
mov ecx, dword [ebx + 0x41c]
mov dword [ebx + 0x408], eax
mov dword [ebx + 0x40c], edx
test ecx, 0x40000000
jne 0x410b07
mov eax, dword [esp + 0x10]
test eax, eax
js 0x410ae4
jle 0x4108e0
mov al, byte [ebx]
jmp 0x4108fa
test dword [ebx + 0x420], 0x400000
je 0x4108f8
test ecx, 0x200000
jne 0x4108f8
mov al, 9
jmp 0x4108fa
xor al, al
mov ecx, dword [esp + 0xc9c]
mov edx, dword [esp + 0xc98]
mov byte [esp + 0x17], al
nop dword [eax]
cmp edi, 6
ja case.default.0x410919
jmp dword [edi*4 + 0x410b60]
movzx eax, al
xor edi, edi
sub eax, 0x5a
je case.0x410a39.9
sub eax, 0x78
jmp 0x410991
xor edi, edi
cmp al, 0x5a
jmp 0x410991
movzx eax, al
sub eax, 0x2d
je 0x410a07
sub eax, 0x3c
je 0x4109e9
sub eax, 0x78
jne 0x410997
lea eax, [ecx + 1]
mov edi, 5
mov ecx, 3
cdq
idiv ecx
mov ecx, edx
mov dword [esp + 0xc9c], ecx
jmp case.default.0x410919
movzx eax, al
xor edi, edi
sub eax, 0x5a
je case.0x410a39.9
sub eax, 0x3c
je case.0x410a39.9
sub eax, 0x3c
jmp 0x410991
xor edi, edi
cmp al, 0x96
je case.0x410a39.9
cmp edx, ecx
je 0x4109de
mov ebx, dword [esp + 0x18]
nop
imul eax, edx, 0x428
push ecx
lea ecx, [esp + 0x24]
add eax, ecx
mov ecx, ebx
push eax
call fcn.00410570
mov eax, dword [esp + 0xca0]
mov ecx, 3
inc eax
add esp, 8
cdq
idiv ecx
mov ecx, dword [esp + 0xc9c]
mov dword [esp + 0xc98], edx
cmp edx, ecx
jne 0x4109a0
mov ebx, dword [esp + 0x1c]
mov al, byte [esp + 0x17]
xor edi, edi
jmp 0x410910
lea eax, [ecx + 1]
mov edi, 4
mov ecx, 3
cdq
idiv ecx
mov ecx, edx
mov dword [esp + 0xc9c], ecx
jmp case.default.0x410919
lea eax, [ecx + 1]
mov edi, 6
mov ecx, 3
cdq
idiv ecx
mov ecx, edx
mov dword [esp + 0xc9c], ecx
jmp case.default.0x410919
movzx eax, al
add eax, 0xfffffff7
cmp eax, 0xab
ja case.0x410a39.10
movzx eax, byte [eax + 0x410b90]
jmp dword [eax*4 + 0x410b7c]
mov dword [esp + 0xc98], ecx
jmp case.default.0x410919
lea eax, [ecx + 1]
mov edi, 1
mov ecx, 3
cdq
idiv ecx
mov ecx, edx
mov dword [esp + 0xc9c], ecx
jmp case.default.0x410919
lea eax, [ecx + 1]
mov edi, 2
mov ecx, 3
cdq
idiv ecx
mov ecx, edx
mov dword [esp + 0xc9c], ecx
jmp case.default.0x410919
lea eax, [ecx + 1]
mov edi, 3
mov ecx, 3
cdq
idiv ecx
mov ecx, edx
mov dword [esp + 0xc9c], ecx
jmp case.default.0x410919
cmp dword [ebx + 0x424], 0
jg 0x410ac0
cmp dword [ebx + 0x420], 0
jne 0x410ac0
mov eax, dword [ebx + 0x41c]
test eax, eax
je case.default.0x410919
cmp eax, 0x100
je case.default.0x410919
push ecx
mov ecx, dword [esp + 0x1c]
push ebx
call fcn.00410570
mov ecx, dword [esp + 0xca4]
add esp, 8
cmp byte [0x69eae5], 0
jne 0x410800
jmp 0x410b07
push eax
lea eax, [esp + 0xca8]
push str.error_d
push eax
call fcn.00410f80
mov ecx, dword [esp + 0x24]
add esp, 8
push ebx
call fcn.00410570
add esp, 8
mov eax, dword [0x69fd34]
mov esi, dword [0x6b0278]
test eax, eax
jne 0x410b31
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov ecx, str.c_bg_disable
call fcn.00406e80
mov dword [0x69fd34], eax
test eax, eax
je 0x410b37
push esi
call eax
add esp, 4
mov ecx, dword [esp + 0xcc4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005cf250
mov esp, ebp
pop ebp
ret
push str.error:_could_not_enable_USB_capture__exiting..._n
call fcn.00410fc0
add esp, 4
push 1
call fcn.005d902e
and eax, 0x2000410a
or dword [ecx], eax
xor ecx, dword [ecx]
inc ecx
add byte [ecx], bh
or dword [ecx], eax
jno 0x410b7b
inc ecx
add byte [ebp - 0x72ffbef7], cl
or dword [ecx], eax
inc eax
or al, byte [ecx]
dec esp
or al, byte [ecx]
or byte [edx], 0x41
add byte [edi + 10], ah
inc ecx
add byte [ebp + 0x410a], bl
add al, 4
add byte [eax + 0xa], al
inc ecx
add byte [edx + ecx + 0x41], cl
add byte [edx + 0x6700410a], al
or al, byte [ecx]
popfd
or al, byte [ecx]
add byte [esp + eax], al
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 1
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, byte [esp + eax]
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add byte [esp + eax], al
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add ecx, esp
int3