Function at 0x4164b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x40
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x54]
mov ecx, 0x4690e8a2
add eax, 0xfffffff7
cmp eax, 3
ja case.default.0x4164d8
mov ebp, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x58]
jmp dword [eax*4 + 0x7d5d60]
mov ebp, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x5c]
mov dword [ebx], 0
mov dword [edi], 0
mov dword [edx], 0
mov dword [ecx], 0
mov dword [eax], 0
mov dword [ebp], 0
lea edi, [esi + 0x68]
mov dword [esp], edi
mov dword [esp + 4], 0x7d5dc4
call fcn.007c58b0
test eax, eax
jne 0x41685c
mov dword [ebp], 2
jmp 0x416dcc
add cl, 0x6f
mov ebp, ecx
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.004258a0
mov esi, eax
mov dword [esp], esi
call fcn.00423550
test eax, eax
jne 0x4165e7
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x4165e7
mov eax, ebp
mov bl, al
xor bl, 0x74
nop
mov dword [esp], esi
call fcn.00430370
cmp dword [eax + 0x1c], 0
jne 0x416926
movzx eax, bl
cmp eax, 0x36
jne 0x4165c0
mov bl, 0x36
mov dword [esp], esi
call fcn.00423570
mov dword [esp], esi
call fcn.00423550
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
jmp 0x4165dd
mov bl, 0x65
mov dword [esp], esi
call fcn.00423570
mov dword [esp], esi
call fcn.00423550
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x416580
mov eax, ebp
movzx eax, al
cmp eax, 0x11
jne 0x416919
xor edi, edi
jmp 0x416616
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
adc edi, 0
mov dword [esp], esi
call fcn.004235e0
xor eax, eax
test edi, edi
jne 0x416dce
mov ecx, 3
sub ecx, edi
xor ecx, edi
jne 0x416600
jmp 0x416dce
mov eax, dword [edi + 0x64]
dec eax
cmp eax, 0xc
ja case.default.0x41667c
mov ebp, 0x4690e8a2
xor ebp, 0x4690e8a9
mov esi, 0x4690e8a2
lea ecx, [ebp + esi]
lea esi, [ebp + esi - 0x4690e895]
mov dword [esp + 0x3c], esi
lea ebx, [ebp + ecx - 0x4690e8a7]
lea esi, [ebp + ecx - 0x4690e89a]
mov dword [esp + 0x38], esi
lea esi, [ebp + ecx - 0x4690e8a9]
lea ecx, [ebp + ecx - 0x4690e8af]
jmp dword [eax*4 + 0x7d5d70]
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 8], 0x7d5de5
call fcn.004959f0
jmp 0x416dcc
add ecx, 0xb96f176e
mov bl, cl
add bl, 0x40
mov eax, dword [esi + 0x64]
cmp eax, 0xb
jg 0x4168b8
cmp eax, 2
je 0x4169a9
cmp eax, 5
jne 0x4169ca
mov byte [esp + 0x38], bl
mov edi, 0x7d5e67
xor eax, eax
lea edx, [esi + 0x68]
mov dword [esp + 0x30], edx
mov byte [esp + 0x3c], dl
cmp ecx, 6
je 0x416d8e
test al, al
jne 0x416d8e
mov byte [esp + 0x34], dh
mov ebp, 0xd
mov bl, 0x14
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov dword [esp + 4], str.WALLE
call fcn.007c5970
test eax, eax
je 0x416726
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
mov dh, byte [esp + 0x34]
je 0x416730
jmp 0x416da6
mov dh, byte [esp + 0x34]
nop word [eax + eax]
cmp ebp, 8
jne 0x416742
mov eax, ebp
and eax, 1
xor eax, ebp
not eax
test eax, eax
jne 0x416790
mov eax, 7
movzx ecx, bl
cmp ecx, 0x14
je 0x4167b0
mov dh, 0x30
mov bh, byte [esi + 0x119]
mov al, bh
add al, 0xe9
movzx ecx, al
cmp ecx, 2
ja 0x41677f
mov byte [esp + 0x3c], al
mov eax, 0xf
mov edx, ecx
or edx, 2
xor ecx, 2
add ecx, edx
mov dh, 0x30
je 0x416790
jmp 0x416d63
mov byte [esp + 0x3c], al
nop word cs:[eax + eax]
movzx eax, dh
cmp eax, 0x33
jne 0x416801
mov eax, 0x17
movzx ecx, bh
cmp ecx, 0x1a
mov edi, 0x7d5e12
mov ecx, str.DriveMicroSD
cmove edi, ecx
cmp eax, 7
je 0x4167c3
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
jne 0x416bba
mov ebp, 8
mov bl, 0x46
mov dh, 0x30
mov bh, byte [esi + 0x119]
mov al, bh
add al, 0xe9
mov byte [esp + 0x3c], al
movzx ecx, al
cmp ecx, 2
ja 0x416730
mov eax, 3
mov edx, ecx
not edx
and edx, 1
add edx, ecx
mov dh, 0x30
je 0x416730
jmp 0x416993
mov ecx, 6
cmp eax, 0x32
mov ebp, dword [esp + 0x7c]
mov eax, 0
je 0x4166df
mov eax, 6
movzx ecx, bh
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
mov edx, str.DriveMicroSD
mov edi, 0x7d5e12
cmove edi, edx
cmp ecx, 0x1a
cmove edi, edx
jmp 0x416d67
mov dword [esp + 4], 0
mov dword [esp], 0x40caf0
call fcn.0042af40
jmp 0x416dce
mov eax, 0x4690e8a2
xor al, 0xfd
movzx eax, al
cmp eax, 0x5f
je 0x416a1f
cmp eax, 0x6f
jne 0x416a45
mov dword [esp + 0x34], 0xd
mov ebx, 0x1b
mov byte [esp + 0x3c], 0x24
mov dword [esp], edi
mov dword [esp + 4], str.HASP_SL_AdminMode
call fcn.007c58b0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x416f82
jmp 0x41701a
cmp eax, 0xc
je 0x416967
cmp eax, 0xd
jne 0x4169ca
lea eax, [esi + 0x68]
mov dword [esp], eax
mov dword [esp + 4], str.WALLE
call fcn.007c5970
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x416a4f
mov byte [esp + 0x38], bl
movzx eax, byte [esi + 0x119]
mov edi, str.SuperDog_Drive
cmp eax, 0x1a
je 0x4171bf
mov edi, 0x7d5e56
jmp 0x4171bf
mov dword [esp], esi
call fcn.004235e0
jmp 0x416dcc
xor edi, edi
jmp 0x41694a
mov eax, edi
and eax, 1
xor eax, edi
cmp eax, 0xffffffff
setne al
movzx eax, al
add edi, eax
mov dword [esp], esi
call fcn.004235e0
mov eax, edi
not eax
and eax, 1
add eax, edi
setne al
movzx ecx, al
mov eax, 1
cmp edi, ecx
jb 0x416930
jmp 0x416dce
mov al, bl
xor al, 0x2a
movzx eax, al
cmp eax, 0x34
je 0x416bc3
mov ecx, 0x1f
cmp eax, 0x7a
jne 0x4169a9
mov byte [esp + 0x38], bl
mov eax, 0xa
mov edi, str.Certificate
mov byte [esp + 0x3c], cl
cmp eax, 3
mov ebp, dword [esp + 0x7c]
mov cl, byte [esp + 0x38]
jne 0x4171bf
jmp 0x416d79
cmp ecx, 0x10
mov edi, 0x7d5e67
je 0x416bd1
mov byte [esp + 0x38], bl
xor eax, eax
test al, al
je 0x416bc7
jmp 0x4171bf
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], edx
mov dword [esp], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0xa
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.004164b0
jmp 0x416dcc
mov byte [esp + 0x3c], 0x24
mov dword [esp], edi
mov dword [esp + 4], str.HASP_SL_AdminMode
call fcn.007c58b0
test eax, eax
mov byte [esp + 0x38], al
jne 0x416e53
jmp 0x417076
mov ecx, 0x12
jmp 0x416e14
mov byte [esp + 0x38], bl
mov edi, 0x7d5e56
jmp 0x4171bf
mov esi, 0xf
mov dword [esp + 4], ebp
mov dword [esp], edx
mov ebp, edx
mov dword [esp + 8], str.unknown
call fcn.004959f0
jmp 0x416c38
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 8], 0x7d5e08
mov esi, edx
call fcn.004959f0
mov ecx, 0x19
mov edx, esi
cmp ecx, 9
jne 0x416dcc
mov eax, dword [edi + 0x60]
cmp eax, 3
jne 0x416bda
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x416bda
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 8], 0x7d5def
call fcn.004959f0
jmp 0x416dcc
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 8], 0x7d5e12
call fcn.004959f0
jmp 0x416dcc
mov ebx, 6
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 8], 0x7d5e1b
mov esi, edx
call fcn.004959f0
mov edx, esi
cmp ebx, 6
je 0x416dcc
imul ebx, ebx
and ebx, 3
cmp ebx, 3
je 0x416dcc
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 8], 0x7d5e16
call fcn.004959f0
jmp 0x416dcc
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 8], 0x7d5e2c
call fcn.004959f0
jmp 0x416dcc
mov eax, dword [edi + 0xc]
cmp eax, 0xffffffff
je 0x416c5e
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 8], str.Net_u
call fcn.0064a2d0
jmp 0x416dcc
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 8], 0x7d5e56
call fcn.004959f0
jmp 0x416dcc
mov ebp, dword [esp + 0x7c]
jmp 0x4171bf
mov byte [esp + 0x38], bl
mov edi, str.Certificate
jmp 0x4171bf
mov byte [esp + 0x38], bl
jmp 0x4171bf
mov dword [esp + 0x38], 0xf
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 8], 0x7d5dfb
mov esi, edx
call fcn.004959f0
mov edx, esi
mov eax, dword [esp + 0x38]
cmp eax, 0xf
jne 0x416c16
imul eax, eax
and eax, 3
cmp eax, 2
jb 0x416dcc
mov ebp, edx
mov esi, 0x1c
mov edi, dword [edi + 0xc]
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
add eax, edi
jne 0x416cda
cmp esi, 0xf
je 0x416dcc
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], ebp
mov dword [esp + 8], 0x7d5e40
call fcn.004959f0
jmp 0x416dcc
mov ebp, 5
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 8], 0x7d5e32
mov esi, edx
call fcn.004959f0
mov edx, esi
cmp ebp, 5
je 0x416dcc
mov esi, 0x1b
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 8], 0x7d5e0e
mov edi, edx
call fcn.004959f0
mov edx, edi
cmp esi, 0xf
je 0x416cbd
imul esi, esi
and esi, 3
cmp esi, 3
jne 0x416dcc
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 8], 0x7d5e22
call fcn.004959f0
jmp 0x416dcc
xor ebx, ebx
mov dword [esp + 0x3c], eax
jmp 0x416d19
mov dword [esp + 0x3c], 0xd
mov eax, 3
sub eax, ebx
xor eax, ebx
setne al
movzx eax, al
add ebx, eax
mov dword [esp + 0xc], edi
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], edx
mov ebp, edx
mov dword [esp + 8], str.NetTime_u
call fcn.0064a2d0
mov eax, ebx
or eax, 2
mov ecx, ebx
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp ebx, eax
mov edx, ebp
jb 0x416ce2
mov eax, dword [esp + 0x3c]
cmp eax, 0xd
jne 0x416d49
imul eax, eax
and eax, 3
cmp eax, 2
jb 0x416dcc
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 8], 0x7d5ddd
call fcn.004959f0
jmp 0x416dcc
mov ebp, dword [esp + 0x7c]
mov cl, byte [esp + 0x38]
cmp eax, 6
jne 0x416d79
mov byte [esp + 0x38], cl
jmp 0x4171bf
mov byte [esp + 0x38], cl
movsx eax, byte [esp + 0x3c]
mov edi, dword [eax*4 + 0x7d5fc4]
jmp 0x4171bf
movzx eax, bh
cmp eax, 0x1a
mov eax, str.DriveMicroSD
mov edi, 0x7d5e12
cmove edi, eax
jmp 0x4171bf
mov ebx, 0x19
movzx esi, byte [esi + 0x118]
and esi, 0xf
mov edi, 0x7d5e76
cmp esi, 7
mov ebp, dword [esp + 0x7c]
jne 0x4171ec
jmp 0x4171bf
xor eax, eax
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, 0xa
mov edx, eax
imul edx, edx
and edx, 3
cmp edx, 2
adc eax, 0
mov dword [ebp], 3
mov edx, eax
or edx, 2
mov ebx, eax
xor ebx, 2
add ebx, edx
setne dl
movzx edx, dl
cmp eax, edx
jb 0x416de0
mov al, byte [esp + 0x38]
mov byte [esp + 0x38], al
cmp ecx, 0xa
jne 0x416e28
mov eax, ecx
not eax
and eax, 1
add eax, ecx
jne 0x416dcc
mov byte [esp + 0x3c], 0x24
mov dword [esp], edi
mov dword [esp + 4], str.HASP_SL_AdminMode
call fcn.007c58b0
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x417076
mov dword [esp], edi
mov dword [esp + 4], str.HASP_SL_UserMode
call fcn.007c58b0
test eax, eax
je 0x416e90
xor eax, eax
test al, al
jne 0x416e90
mov al, 0x25
movzx edx, al
cmp edx, 0xa
je 0x416f02
mov eax, 7
mov ecx, 0xc
cmp edx, 0xb
je 0x417090
jmp 0x416eb1
mov al, 0x26
movzx ecx, al
cmp ecx, 1
je 0x416f40
mov eax, 0x11
mov edx, 4
cmp ecx, 0x26
jne 0x41719b
cmp eax, 7
jne 0x416f51
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
je 0x416f51
mov ebx, 0x15
mov byte [esp + 0x38], 0x2a
mov eax, dword [0x7f6188]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007c58b0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x416fa3
jmp 0x417107
mov ebx, 0x13
mov byte [esp + 0x38], 0x2a
mov eax, dword [0x7f6188]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007c58b0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, 0x10
jne 0x41705e
jmp 0x4170b1
mov ebx, 8
mov dword [ebp], 4
jmp 0x417147
mov eax, 0xd
mov dword [ebp], 4
jmp 0x416ff7
mov al, 0x54
mov ecx, dword [esp + 0x5c]
mov dword [ecx], 1
cmp byte [esi + 0xd8], 0
jne 0x417186
mov ebx, 0x10
mov cl, 0x39
mov byte [esp + 0x38], cl
cmp ebx, 0x10
je 0x416dcc
imul ebx, ebx
and ebx, 3
cmp ebx, 3
jne 0x416e53
jmp 0x416dcc
mov eax, dword [str.WALLE]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007c58b0
test eax, eax
jne 0x416dcc
mov eax, dword [esp + 0x60]
mov dword [eax], 1
movzx eax, byte [esi + 0xd8]
cmp eax, 6
je 0x416fdc
xor eax, eax
test al, al
je 0x416dcc
mov cl, 0x32
mov dword [esp + 0x34], 0x1b
mov eax, 0xf
movzx ecx, cl
cmp ecx, 0x10
mov cl, byte [esp + 0x38]
jne 0x41701a
cmp eax, 0xd
jne 0x41700b
imul eax, eax
and eax, 3
cmp eax, 2
jb 0x416dcc
mov eax, dword [esp + 0x68]
mov dword [eax], 1
jmp 0x416dcc
mov byte [esp + 0x38], cl
cmp dword [esp + 0x34], 0xd
je 0x417076
xor eax, eax
test al, al
jne 0x417076
xor eax, eax
jmp 0x41704a
mov ebx, 0xc
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add eax, ecx
mov ecx, dword [esp + 0x68]
mov dword [ecx], 1
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne dl
movzx edx, dl
cmp eax, edx
jb 0x417030
cmp ebx, 0xc
je 0x416dcc
xor eax, eax
test al, al
je 0x416fa3
jmp 0x416dcc
xor eax, eax
movzx edx, byte [esp + 0x3c]
cmp edx, 0x10
je 0x4170c9
mov ecx, 2
cmp edx, 0x51
jne 0x416dfa
cmp ecx, 2
jne 0x417112
mov eax, ecx
not eax
and eax, 1
add eax, ecx
je 0x417112
mov eax, 3
mov byte [esp + 0x3c], 0x24
mov dword [ebp], 3
cmp eax, 3
je 0x416dcc
xor eax, eax
test al, al
je 0x41715f
jmp 0x416dcc
mov dl, byte [esp + 0x3c]
jmp 0x4170ef
mov ebx, 8
mov dl, 0x51
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
add eax, ecx
mov dword [ebp], 3
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb ecx, ecx
and ecx, 1
cmp eax, ecx
jb 0x4170d0
mov byte [esp + 0x3c], dl
cmp ebx, 8
je 0x416dcc
jmp 0x41715f
mov ebx, 0xc
mov byte [esp + 0x38], 0x2a
mov eax, dword [0x7f6188]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007c58b0
mov edx, 8
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x41719b
cmp ebx, 8
je 0x416dcc
imul ebx, ebx
and ebx, 3
cmp ebx, 2
je 0x416dcc
movzx eax, byte [esp + 0x38]
cmp eax, 0x2a
je 0x416f62
mov al, 0x54
mov ecx, dword [esp + 0x5c]
mov dword [ecx], 1
cmp byte [esi + 0xd8], 0
je 0x416dcc
movzx eax, al
cmp eax, 0x54
mov eax, dword [esp + 0x60]
mov dword [eax], 1
jmp 0x416dcc
cmp edx, 4
jne 0x416fa3
mov eax, 3
sub eax, edx
xor eax, edx
je 0x416fa3
mov dword [ebp], 4
jmp 0x416dcc
movzx eax, byte [esp + 0x38]
cmp eax, 0xa
je 0x417216
cmp eax, 0x50
jne 0x417216
mov ebx, 9
mov byte [esp + 0x38], 0x4b
mov dword [esp + 8], edi
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.004959f0
cmp ebx, 9
je 0x416dcc
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
mov edi, str.DriveMicroSD
mov eax, 0x7d5e12
cmove edi, eax
cmp esi, 0xa
cmovne edi, eax
jmp 0x4171bf
mov dword [esp + 8], edi
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.004959f0
jmp 0x416dcc