Function at 0x442840
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x15c
cmp byte [0x4a0b61], 0
mov ebp, dword [esp + 0x170]
je 0x4428a3
cmp byte [0x4a2d14], 0
jne 0x442870
cmp byte [0x4a0b60], 0
je 0x442989
mov eax, dword [ebp + 8]
lea ebx, [esp + 0x50]
mov dword [esp + 8], str.USB_scan_devices:_checking_for__s_devices
mov dword [esp + 4], 0x100
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00471bd0
mov dword [esp + 4], ebx
mov dword [esp], 4
call fcn.0042ace0
mov eax, dword [0x47fa1c]
cmp dword [0x4a0c50], eax
jl 0x442910
cmp byte [0x4a0b61], 0
je 0x442904
cmp byte [0x4a2d14], 0
jne 0x4428d4
cmp byte [0x4a0b60], 0
jne 0x4428d4
cmp dword [0x47f720], 3
jle 0x442904
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.USB_scan_devices:_total_limit__d_reached
lea ebx, [esp + 0x50]
mov dword [esp + 4], 0x100
mov dword [esp], ebx
call fcn.00471bd0
mov dword [esp + 4], ebx
mov dword [esp], 4
call fcn.0042ace0
add esp, 0x15c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp]
mov edx, dword [eax*8 + 0x4a0c64]
cmp dword [eax*8 + 0x4a0c60], edx
jb 0x44299b
cmp byte [0x4a0b61], 0
je 0x442904
cmp byte [0x4a2d14], 0
jne 0x442947
cmp byte [0x4a0b60], 0
jne 0x442947
cmp dword [0x47f720], 3
jle 0x442904
mov dword [esp + 0x10], edx
mov eax, dword [ebp + 4]
lea ebx, [esp + 0x50]
mov dword [esp], ebx
mov dword [esp + 8], str.USB_scan_devices:__s_limit__d_reached
mov dword [esp + 4], 0x100
mov dword [esp + 0xc], eax
call fcn.00471bd0
mov dword [esp + 4], ebx
mov dword [esp], 4
call fcn.0042ace0
add esp, 0x15c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [0x47f720], 3
jle 0x4428a3
jmp 0x442870
lea eax, [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp], 0
call fcn.004666f0
sub esp, 8
cmp eax, 0
mov dword [esp + 0x38], eax
jl 0x442e3b
jne 0x442a6b
cmp byte [0x4a0b61], 0
je 0x442a49
cmp byte [0x4a2d14], 0
jne 0x4429e9
cmp byte [0x4a0b60], 0
jne 0x4429e9
cmp dword [0x47f720], 3
jle 0x442a49
lea eax, [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp], 4
mov dword [esp + 0x50], 0x20425355
mov dword [esp + 0x54], 0x6e616373
mov dword [esp + 0x58], 0x76656420
mov dword [esp + 0x5c], 0x73656369
mov dword [esp + 0x60], 0x6f66203a
mov dword [esp + 0x64], 0x20646e75
mov dword [esp + 0x68], 0x64206f6e
mov dword [esp + 0x6c], 0x63697665
mov word [esp + 0x70], 0x7365
mov byte [esp + 0x72], 0
call fcn.0042ace0
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004666f8
sub esp, 8
add esp, 0x15c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [0x47fa1c]
cmp eax, dword [0x4a0c50]
jle 0x442ee4
mov eax, dword [ebp]
mov ebx, dword [eax*8 + 0x4a0c60]
mov edx, dword [eax*8 + 0x4a0c64]
cmp ebx, edx
jae 0x442e7c
lea ecx, [ebp + 4]
xor edi, edi
mov dword [esp + 0x3c], ecx
jmp 0x442b39
cmp byte [0x4a0b61], 0
je 0x442b02
cmp byte [0x4a2d14], 0
jne 0x442ac7
cmp byte [0x4a0b60], 0
jne 0x442ac7
cmp dword [0x47f720], 3
jle 0x442b02
mov dword [esp + 0x10], edx
mov eax, dword [ebp + 4]
mov dword [esp + 8], str.USB_scan_devices3:__s_limit__d_reached
mov dword [esp + 4], 0x100
mov dword [esp + 0xc], eax
lea eax, [esp + 0x50]
mov dword [esp], eax
call fcn.00471bd0
lea edx, [esp + 0x50]
mov dword [esp + 4], edx
mov dword [esp], 4
call fcn.0042ace0
add edi, 1
cmp edi, dword [esp + 0x38]
je 0x442a49
mov eax, dword [0x47fa1c]
cmp dword [0x4a0c50], eax
jge 0x442ee4
mov eax, dword [ebp]
mov ebx, dword [eax*8 + 0x4a0c60]
mov edx, dword [eax*8 + 0x4a0c64]
cmp ebx, edx
jae 0x442e7c
lea ecx, [edi*4]
cmp ebx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x4c]
mov ecx, dword [ecx + edi*4]
jae 0x442aa3
cmp eax, 5
je 0x442e29
cmp eax, 2
je 0x442e0c
cmp eax, 3
je 0x442e0c
cmp eax, 1
jne 0x442b02
mov edx, ebp
mov al, 5
call fcn.0043f150
mov dword [esp + 0x34], eax
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x442b02
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x4c]
mov esi, dword [eax + ecx]
mov dword [esp], esi
call fcn.004666b0
sub esp, 4
mov ebx, eax
mov dword [esp], esi
call fcn.004666a8
movzx edx, bl
sub esp, 4
movzx eax, al
call fcn.0043f6d0
test al, al
jne 0x442d47
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x4c]
mov ebx, dword [eax + edx]
mov dword [esp], ebx
call fcn.004666b0
sub esp, 4
mov esi, eax
mov dword [esp], ebx
call fcn.004666a8
sub esp, 4
mov ecx, eax
cmp byte [0x4a0b61], 0
je 0x442c17
cmp byte [0x4a2d14], 0
jne 0x442d58
cmp byte [0x4a0b60], 0
jne 0x442d58
cmp dword [0x47f720], 3
jg 0x442d58
mov dword [esp + 4], 0x10
mov dword [esp], 1
mov byte [esp + 0x28], cl
call fcn.0047a380
movzx ecx, byte [esp + 0x28]
test eax, eax
mov ebx, eax
je 0x442f8b
mov byte [ebx], 1
mov eax, dword [ebp + 4]
mov edx, esi
mov byte [ebx + 8], cl
mov byte [ebx + 9], dl
mov dword [ebx + 4], eax
mov dword [esp], 0x4a2d78
mov byte [esp + 0x28], cl
call fcn.00460dd0
movzx ecx, byte [esp + 0x28]
test eax, eax
jne 0x442f7c
mov eax, dword [0x4a0c44]
mov dword [0x4a0c44], ebx
mov dword [ebx + 0xc], eax
mov dword [esp], 0x4a2d78
mov byte [esp + 0x28], cl
call fcn.004603e0
movzx ecx, byte [esp + 0x28]
test eax, eax
jne 0x44302a
mov byte [esp + 0x28], cl
call fcn.0045fb60
mov dword [esp], 0x4a2dac
call fcn.0041e2a0
movzx ecx, byte [esp + 0x28]
mov byte [esp + 0x33], cl
mov dword [esp], 0x32
call fcn.0041aa70
mov dword [esp], 0x4a2d78
call fcn.00460dd0
test eax, eax
jne 0x44301a
mov ebx, dword [0x4a0c40]
test ebx, ebx
je 0x442db0
xor eax, eax
movzx ecx, byte [esp + 0x33]
jmp 0x442cff
mov edx, dword [ebx + 4]
mov eax, ebx
test edx, edx
je 0x442db0
mov ebx, edx
cmp cl, byte [ebx]
jne 0x442cf0
mov edx, esi
cmp dl, byte [ebx + 1]
jne 0x442cf0
test eax, eax
je 0x442e1c
mov edx, dword [ebx + 4]
mov dword [eax + 4], edx
mov dword [esp], 0x4a2d78
call fcn.004603e0
test eax, eax
jne 0x44300b
call fcn.0045fb60
movzx esi, byte [ebx + 2]
mov dword [esp], ebx
call fcn.0047a350
mov ecx, esi
test cl, cl
jne 0x442dce
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.0047a350
jmp 0x442b02
mov edx, esi
movzx eax, dl
mov dword [esp + 0x14], eax
movzx eax, cl
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 4]
mov dword [esp + 8], str.USB_lock__s__d__d
mov dword [esp + 4], 0x100
mov byte [esp + 0x28], cl
mov dword [esp + 0xc], eax
lea eax, [esp + 0x50]
mov dword [esp], eax
call fcn.00471bd0
lea edx, [esp + 0x50]
mov dword [esp + 4], edx
mov dword [esp], 4
call fcn.0042ace0
movzx ecx, byte [esp + 0x28]
jmp 0x442c17
mov dword [esp], 0x4a2d78
call fcn.004603e0
test eax, eax
jne 0x443001
call fcn.0045fb60
jmp 0x442cb5
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x174]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + edx]
mov dword [esp], eax
call ecx
test al, al
je 0x442f45
mov eax, dword [ebp]
add dword [0x4a0c50], 1
add dword [eax*8 + 0x4a0c60], 1
jmp 0x442b02
mov edx, ebp
call fcn.0043f150
mov dword [esp + 0x34], eax
jmp 0x442b80
mov eax, dword [ebx + 4]
mov dword [0x4a0c40], eax
jmp 0x442d18
mov edx, ebp
mov al, 1
call fcn.0043f150
mov dword [esp + 0x34], eax
jmp 0x442b80
cmp byte [0x4a0b61], 0
je 0x442904
cmp byte [0x4a2d14], 0
jne 0x442e67
cmp byte [0x4a0b60], 0
jne 0x442e67
cmp dword [0x47f720], 3
jle 0x442904
mov eax, dword [esp + 0x38]
mov dword [esp + 8], str.USB_scan_devices:_failed__err__d
mov dword [esp + 0xc], eax
jmp 0x4428e0
cmp byte [0x4a0b61], 0
je 0x442a49
cmp byte [0x4a2d14], 0
jne 0x442ea8
cmp byte [0x4a0b60], 0
jne 0x442ea8
cmp dword [0x47f720], 3
jle 0x442a49
mov dword [esp + 0x10], edx
mov eax, dword [ebp + 4]
lea ebx, [esp + 0x50]
mov dword [esp + 8], str.USB_scan_devices2:__s_limit__d_reached
mov dword [esp + 4], 0x100
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00471bd0
mov dword [esp + 4], ebx
mov dword [esp], 4
call fcn.0042ace0
jmp 0x442a49
cmp byte [0x4a0b61], 0
je 0x442a49
cmp byte [0x4a2d14], 0
jne 0x442f10
cmp byte [0x4a0b60], 0
jne 0x442f10
cmp dword [0x47f720], 3
jle 0x442a49
lea ebx, [esp + 0x50]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.USB_scan_devices2:_total_limit__d_reached
mov dword [esp + 4], 0x100
mov dword [esp], ebx
call fcn.00471bd0
mov dword [esp + 4], ebx
mov dword [esp], 4
call fcn.0042ace0
jmp 0x442a49
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x4c]
mov esi, dword [eax + edx]
mov dword [esp], esi
call fcn.004666b0
sub esp, 4
mov ebx, eax
mov dword [esp], esi
call fcn.004666a8
movzx ecx, bl
sub esp, 4
movzx edx, al
mov eax, dword [esp + 0x3c]
call fcn.0043fa20
jmp 0x442b02
call fcn.0047d7b8
movzx ecx, byte [esp + 0x28]
jmp 0x442c6c
lea eax, [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp], 0
mov dword [esp + 0x50], 0x20425355
mov dword [esp + 0x54], 0x6c696166
mov dword [esp + 0x58], 0x74206465
mov dword [esp + 0x5c], 0x6163206f
mov dword [esp + 0x60], 0x636f6c6c
mov dword [esp + 0x64], 0x636f6c20
mov dword [esp + 0x68], 0x6572206b
mov dword [esp + 0x6c], 0x6f775f73
mov word [esp + 0x70], 0x6b72
mov byte [esp + 0x72], 0
call fcn.0042ace0
mov dword [esp], 1
call fcn.00404a60
movzx ecx, byte [esp + 0x28]
jmp 0x442c3e
call fcn.0047d7f7
jmp 0x442dc4
nop
lea esi, [esi]
call fcn.0047d7f7
jmp 0x442d2c
lea esi, [esi]
call fcn.0047d7b8
jmp 0x442cd5
lea esi, [esi]
call fcn.0047d7f7
movzx ecx, byte [esp + 0x28]
jmp 0x442c97