Function at 0x59ab80
Capabilities:
Check if file exists
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x100
mov esi, 7
call fcn.00449110
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
mov dword [esp + 0x44], eax
mov byte [esp + 0x4f], al
mov byte [esp + 0x64], al
mov byte [esp + 0x67], al
mov byte [esp + 0x9e], al
mov byte [esp + 0x66], al
mov byte [esp + 0x83], dh
mov byte [esp + 0x8f], dh
mov byte [esp + 0x65], cl
mov dword [esp + 0x54], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0xac], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x74], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0xb0], ecx
mov byte [esp + 0x9f], cl
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x6c], ecx
jne 0x59c173
mov ecx, 0xf
mov byte [esp + 0x67], al
mov byte [esp + 0x2a], al
mov byte [esp + 0x2b], al
mov byte [esp + 0x4f], al
mov byte [esp + 0x65], al
mov byte [esp + 0x29], al
mov byte [esp + 0x9f], al
mov byte [esp + 0x9e], al
mov byte [esp + 0x5b], al
mov byte [esp + 0x66], al
mov byte [esp + 0x83], al
mov byte [esp + 0x8f], al
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x7c], eax
mov byte [esp + 0x64], dl
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], edx
cmp ecx, 0xd
jne 0x59ad26
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov edx, esi
jb 0x59afb6
mov eax, 0x7000002b
jmp 0x59bfc4
mov dword [esp + 0x34], edi
call fcn.0061d930
mov eax, dword [0x80dc7c]
mov dword [esp], eax
call fcn.007c74c0
test eax, eax
je 0x59ad7a
mov ecx, 3
mov edx, eax
and edx, 1
inc edx
xor edx, eax
je 0x59ad7a
mov ebx, dword [esp + 0xa0]
cmp ecx, 3
jne 0x59c270
mov dword [esp], str.Failed_to_lock_vlib_mutex_n
call fcn.00441610
call fcn.0044c0d0
mov al, 0x1a
mov edi, 0xb
movzx eax, al
cmp eax, 0x1a
jne 0x59ad95
mov ebx, dword [esp + 0xa0]
jmp 0x59bca0
mov al, 0x21
mov dword [esp + 0x7c], eax
lea eax, [esp + 0xe0]
mov dword [esp + 0x38], eax
call fcn.0061b160
cmp eax, dword [ebp + 8]
je 0x59adcd
mov ecx, 4
imul eax, eax
and eax, 3
cmp eax, 2
mov ebx, dword [esp + 0xa0]
jne 0x59c258
jmp 0x59ae3d
mov ebx, dword [esp + 0xa0]
jmp 0x59ae3d
mov eax, 0x39
add al, 0x2e
mov dword [esp + 0x7c], eax
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
add esi, eax
call fcn.0061b160
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], str.Unexpected_VLIB_request_for_vendor__u_instead_of_vendor__u_n
call fcn.004414c0
mov ecx, 0x70000031
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x59ade0
mov dword [esp + 0x98], ecx
jmp 0x59bf7b
mov eax, 0x10
mov byte [esp + 0x64], 0x4c
mov edx, dword [0x80dc80]
test edx, edx
jne 0x59ae75
mov dword [esp + 0xa0], ebx
mov esi, 0xa
mov ecx, edx
not ecx
and ecx, 1
add ecx, edx
mov dword [esp + 0x78], edx
jne 0x59c5a9
jmp 0x59b2de
mov dword [esp + 0x78], edx
mov dword [esp + 0xa0], ebx
jmp 0x59b2de
mov ecx, dword [edx + 4]
test ecx, ecx
mov esi, edx
jne 0x59aea3
mov eax, 3
sub eax, ecx
xor eax, ecx
mov dword [esp + 0x78], ecx
jne 0x59afec
jmp 0x59aea7
mov dword [esp + 0x78], ecx
mov eax, 4
movzx ecx, byte [esp + 0x64]
cmp ecx, 0x20
mov edi, dword [esp + 0x78]
je 0x59aeed
mov eax, 8
cmp ecx, 0x4c
jne 0x59aefc
mov byte [esp + 0x64], 0x23
mov eax, dword [edi + 0xc]
mov edx, dword [eax]
cmp edx, dword [ebp + 8]
jne 0x59af0c
mov ecx, 0xd
mov esi, edx
not esi
and esi, 1
add esi, edx
mov edx, edi
mov esi, edi
jne 0x59ad10
jmp 0x59ae85
mov dword [esp + 0x74], esi
mov esi, edi
mov ecx, dword [esp + 0xb0]
jmp 0x59af13
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x74], esi
jmp 0x59ca94
mov edx, edi
jmp 0x59ae85
cmp eax, 4
je 0x59af74
xor eax, eax
test al, al
jne 0x59af74
mov al, 0x2c
mov dword [esp + 0x70], eax
mov eax, fcn.004936c0
movd xmm0, eax
mov eax, fcn.00493840
movd xmm1, eax
punpckldq xmm1, xmm0
mov eax, fcn.00492a60
movd xmm0, eax
mov eax, fcn.00492770
movd xmm2, eax
punpckldq xmm2, xmm0
punpckldq xmm2, xmm1
movdqa xmmword [esp + 0xe0], xmm2
mov dword [ecx + 0x20], fcn.004936c0
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x78], esi
jmp 0x59ba66
mov dword [esp + 0xb0], ecx
mov ecx, 0x1c
mov byte [esp + 0x64], 0x20
mov eax, dword [esi + 0xc]
mov edx, dword [ebp + 8]
cmp dword [eax], edx
mov dword [esp + 0x74], esi
mov edx, esi
je 0x59afb6
jmp 0x59b0cc
mov byte [esp + 0x64], 0x4c
mov eax, dword [edi + 0xc]
mov ecx, dword [ebp + 8]
cmp dword [eax], ecx
mov ebx, dword [esp + 0xa0]
mov edx, edi
jne 0x59ae85
test eax, eax
mov esi, edx
je 0x59afe2
mov al, 1
test al, al
je 0x59afe8
mov dword [esp + 0xa0], ebx
mov eax, 0x10
mov dword [esp + 0x98], 0
mov dword [esp + 0x74], esi
jmp 0x59c3dc
mov dword [esp + 0x78], esi
jmp 0x59afec
mov dword [esp + 0x78], esi
mov dword [esp + 0xa0], ebx
mov edi, 0x12
mov byte [esp + 0x65], 0x60
mov dword [esp], 0x38
call fcn.00492770
test eax, eax
jne 0x59b032
mov dword [esp + 0x98], 0x70000003
mov edx, 0xd
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
mov dword [esp + 0x74], esi
jne 0x59bbce
jmp 0x59b041
mov dword [esp + 0x98], 0x70000003
mov dword [esp + 0x74], esi
cmp edi, 0xb
jne 0x59b05d
mov ecx, edi
not ecx
and ecx, 1
add ecx, edi
je 0x59b05d
mov dword [esp + 0xb0], eax
jmp 0x59c3d0
movzx ecx, byte [esp + 0x65]
cmp ecx, 0x46
je 0x59b0f0
mov esi, 0x1a
cmp ecx, 0x60
mov ebx, dword [esp + 0xa0]
jne 0x59b12f
mov dword [esp + 0xb0], eax
mov ecx, 0x10
mov byte [esp + 0x65], 0x60
mov byte [esp + 0x8f], 0x17
mov al, 0x15
mov dword [esp + 0x6c], eax
mov al, 0x37
mov edx, dword [ebp + 8]
mov edi, edx
cmp edi, 0x928b
sete dl
mov esi, edi
and esi, 1
xor esi, edi
cmp esi, 0xffffffff
setne ah
and ah, dl
mov byte [esp + 0x4f], ah
mov edx, dword [esp + 0x78]
je 0x59c086
mov dword [esp + 0x78], edx
cmp ecx, 0x10
je 0x59c2aa
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
mov edx, dword [esp + 0x74]
jne 0x59ae85
jmp 0x59c2aa
mov dword [esp + 0xb0], eax
mov ecx, 0xd
mov byte [esp + 0x65], 0x46
mov byte [esp + 0x8f], 0x17
mov al, 0x15
mov dword [esp + 0x6c], eax
mov al, 0x37
cmp dword [ebp + 8], 0x928b
sete byte [esp + 0x4f]
mov ebx, dword [esp + 0xa0]
jne 0x59c086
jmp 0x59c28a
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x90]
jmp 0x59c003
mov esi, 4
mov bl, 0x2a
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0061d650
mov edx, dword [esp + 0xb0]
lea ecx, [edx + 0x24]
mov dword [esp + 0x54], ecx
mov dword [edx + 0x24], eax
test eax, eax
je 0x59bde9
xor ecx, ecx
test cl, cl
jne 0x59bde9
mov dword [esp + 0xa0], ebx
mov esi, 9
mov dword [esp], eax
mov dword [esp + 4], str.vli_init
call fcn.0061d910
mov ebx, dword [esp + 0xb0]
mov dword [ebx + 0x18], eax
mov edi, dword [esp + 0x54]
mov eax, dword [edi]
mov dword [esp], eax
mov dword [esp + 4], str.vli_get_version
call fcn.0061d910
lea ecx, [ebx + 0x14]
mov dword [esp + 0x40], ecx
mov dword [ebx + 0x14], eax
mov eax, dword [edi]
mov dword [esp], eax
mov dword [esp + 4], str.vli_shutdown
call fcn.0061d910
mov dword [esp + 0x2c], eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], fcn.007c9e50
mov eax, dword [ebx + 0x18]
test eax, eax
mov edi, dword [esp + 0x98]
jne 0x59b20a
mov dword [esp + 0x50], eax
imul eax, eax
and eax, 3
cmp eax, 2
mov ebx, dword [esp + 0xa0]
jb 0x59bfd3
jmp 0x59b61e
mov dword [esp + 0x50], eax
mov ebx, dword [esp + 0xa0]
jmp 0x59b61e
cmp eax, 2
adc ebx, 0
call fcn.007c4fd0
mov edi, eax
call fcn.007c4bf0
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], str.VLIB_not_found_for_vendor__u._Ensure_to_have_it_in_the_same_directory_of_hasp_rt.exe__syserr__d__s__n
call fcn.004414c0
mov edx, 0x70000030
mov eax, ebx
imul eax, eax
and eax, 3
cmp eax, 2
sbb ecx, ecx
and ecx, 1
cmp ebx, ecx
jb 0x59b220
mov dword [esp + 0x88], edx
mov ebx, dword [esp + 0xa0]
jmp 0x59b915
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
test ecx, ecx
sete al
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
setne cl
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x59b32e
imul edx, edx
and edx, 3
cmp edx, 3
je 0x59b32e
and al, cl
jne 0x59b32e
mov dword [esp + 0x98], edi
mov dword [esp + 0xa0], ebx
mov dl, 0x1f
mov ecx, 3
mov eax, 0x1b
movzx edx, dl
cmp edx, 0x34
mov edx, dword [esp + 0x40]
mov dword [esp + 0x30], edx
jne 0x59bc59
cmp eax, 0x10
mov ebx, dword [esp + 0xa0]
jne 0x59b300
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x59b300
mov esi, dword [esp + 0x74]
jmp 0x59aea7
lea eax, [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.0068dbc0
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x59b33d
jmp 0x59b3f1
mov dword [esp + 0x98], edi
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], str.Invalid_VLIB_for_vendor__u_n
call fcn.004414c0
mov dword [esp + 0x88], 0x70000031
movzx ecx, bl
xor eax, eax
cmp ecx, 0x2a
je 0x59b382
mov edi, ebx
jmp 0x59b3c4
mov ebx, 0x23
add bl, 0xf5
add ecx, eax
setne cl
movzx ecx, cl
add eax, ecx
mov ecx, eax
not ecx
and ecx, 1
mov edx, eax
add edx, ecx
setne dl
movzx edx, dl
cmp eax, edx
jb 0x59b370
mov eax, dword [esp + 0x88]
mov dword [esp + 0x90], eax
jmp 0x59c952
mov ebx, 1
add bl, 0x29
mov edi, ebx
add ecx, edx
setne cl
movzx ecx, cl
add eax, ecx
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
mov esi, ecx
add esi, edx
setne bl
movzx esi, bl
cmp eax, esi
jb 0x59b3b0
mov eax, dword [esp + 0x88]
mov dword [esp + 0x90], eax
mov ebx, edi
jmp 0x59c952
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
cmp eax, dword [esp + 0xdc]
je 0x59b40a
xor eax, eax
test al, al
je 0x59b33d
mov eax, 0x1a
mov cl, 1
test cl, cl
jne 0x59b470
mov dword [esp + 0xa0], ebx
mov ebx, 0x15
mov esi, 0xe
mov byte [esp + 0x29], 0x79
lea eax, [esp + 0xb8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x8c
mov dword [esp], 0x7f7508
call fcn.007acc60
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
mov dword [esp + 0x88], 0x700002bb
cmp eax, ecx
je 0x59c786
jmp 0x59c357
mov esi, dword [esp + 0x90]
mov dl, byte [esp + 0x8f]
jmp 0x59c97a
mov dword [esp + 0x84], 3
mov byte [esp + 0x29], 0x4c
mov byte [esp + 0x9f], 0x2e
mov eax, dword [eax]
lea ecx, [esp + 0xb4]
mov dword [esp + 8], ecx
lea ebx, [esp + 0xb8]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0068d330
mov edi, eax
mov dword [esp], ebx
call fcn.007ad250
mov ecx, dword [esp + 0xb4]
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
sete dl
test edi, edi
jne 0x59b4f7
mov eax, 5
movzx edx, dl
cmp ecx, edx
mov ebx, dword [esp + 0xa0]
jne 0x59bdba
jmp 0x59b721
mov ebx, dword [esp + 0xa0]
jmp 0x59b721
mov byte [esp + 0x9f], 0x67
jmp 0x59b33d
mov dword [esp + 0xa0], ebx
mov al, 0x5b
mov dword [esp + 0x6c], eax
mov esi, dword [esp + 0xb0]
lea eax, [esi + 0xc]
mov dword [esp + 0xa4], eax
lea ecx, [esi + 8]
mov dword [esp + 0xa8], ecx
lea edx, [esi + 4]
mov dword [esp + 0xac], edx
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call dword [esp + 0x44]
sub esp, 0x10
mov edi, eax
imul eax, eax
and eax, 3
cmp eax, 2
sete al
movzx eax, al
cmp edi, eax
mov dword [esp + 0x5c], esi
je 0x59b5ef
xor ebx, ebx
mov esi, 0xcf
add esi, 0xffffff3b
mov eax, dword [esp + 0x90]
jmp 0x59b5b7
mov eax, ebx
and eax, 1
xor eax, ebx
cmp eax, 0xffffffff
setne al
movzx eax, al
add ebx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], str.Invalid_VLIB_version_for_vendor__u_n
call fcn.004414c0
mov eax, edi
test ebx, ebx
je 0x59b590
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x5c], eax
mov ebx, dword [esp + 0xa0]
jmp 0x59b698
mov eax, 3
sub eax, edi
xor eax, edi
mov dword [esp + 0x5c], esi
mov dword [esp + 0xb0], esi
je 0x59b571
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax]
cmp ecx, dword [ebp + 8]
mov ebx, dword [esp + 0xa0]
je 0x59b649
mov esi, 0x17
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
je 0x59b649
mov dword [esp + 0x48], ecx
mov edi, dword [esp + 0x98]
cmp esi, 9
je 0x59b279
mov dword [esp + 0x98], edi
mov eax, dword [ebp + 8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov dword [esp], str.Mismatch_VLIB_vendor__u_instead_of_vendor__u_n
jmp 0x59c942
mov al, 0x28
mov esi, 0x12
movzx eax, al
cmp eax, 0x28
je 0x59b694
mov dword [esp + 0x48], ecx
cmp eax, 0x2a
jne 0x59b6e0
mov byte [esp + 0x5b], 2
mov byte [esp + 0x67], 0x56
mov eax, dword [esp + 0xac]
mov ecx, dword [eax]
cmp ecx, 7
jb 0x59b779
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
mov dword [esp + 0x3c], ecx
jne 0x59b736
jmp 0x59b8fd
mov dword [esp + 0x48], ecx
cmp esi, 0xa
jne 0x59b6ae
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
jne 0x59c952
mov byte [esp + 0x5b], 2
mov byte [esp + 0x67], 0x56
mov eax, dword [esp + 0xac]
mov ecx, dword [eax]
cmp ecx, 7
jb 0x59b770
mov eax, ecx
mov dword [esp + 0x3c], ecx
imul eax, eax
and eax, 3
cmp eax, 2
jne 0x59b736
jmp 0x59b8fd
mov edi, 2
mov byte [esp + 0x5b], 2
mov byte [esp + 0x67], 0x56
mov eax, dword [esp + 0xac]
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
cmp eax, 7
jb 0x59b8e5
mov dword [esp + 0x84], 4
xor eax, eax
test al, al
mov esi, dword [esp + 0x90]
jne 0x59b8e5
cmp dword [esp + 0x84], 3
mov dword [esp + 0x90], esi
je 0x59c224
cmp dword [esp + 0x3c], 7
je 0x59b747
mov al, 1
test al, al
jne 0x59c89a
mov esi, 0x10
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax]
cmp ecx, 0x5a
jb 0x59b782
mov eax, 8
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jne 0x59c8f1
jmp 0x59b782
mov dword [esp + 0x3c], ecx
jmp 0x59b8fd
mov dword [esp + 0x3c], ecx
jmp 0x59b8fd
cmp esi, 0x10
je 0x59b8fd
imul esi, esi
and esi, 3
cmp esi, 2
jne 0x59bf7b
jmp 0x59b8fd
mov byte [esp + 0x67], 0x56
mov byte [esp + 0x9e], 0x4b
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + 0x24]
mov dword [esp], eax
call fcn.0059ec90
test eax, eax
je 0x59b7df
mov ecx, eax
mov dword [esp + 0x94], eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jne 0x59c331
jmp 0x59c89a
mov dword [esp + 0x94], eax
jmp 0x59c89a
mov eax, 0x11
add eax, 0xfffffffa
mov dword [esp + 0x84], eax
add al, 0x40
mov byte [esp + 0x9e], al
mov eax, esi
or eax, 2
mov ecx, esi
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
add esi, eax
call sub.KERNEL32.dll_GetLastError
mov ecx, dword [esp + 0xa4]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xa8]
mov edx, dword [edx]
mov edi, dword [esp + 0xac]
mov edi, dword [edi]
mov ebx, dword [esp + 0x94]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], str.Failed_to_initialize_VLIB__u._u_build__u_for_vendor__u_because_its_too_old__syserr__lu__u__n
call fcn.004414c0
mov eax, esi
not eax
and eax, 1
add eax, esi
setne al
movzx eax, al
cmp esi, eax
jb 0x59b7f0
mov dword [esp + 0x90], 0x70000038
mov eax, dword [esp + 0xb0]
mov edi, dword [esp + 0x84]
jmp 0x59b041
mov edi, 0xf
mov byte [esp + 0x5b], 0x1f
lea eax, [esp + 0xe0]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0
call fcn.007c51a0
mov eax, dword [esp + 0xac]
mov eax, dword [eax]
cmp eax, 7
mov ebx, dword [esp + 0xa0]
jae 0x59b932
cmp edi, 2
jne 0x59ba66
imul edi, edi
and edi, 3
cmp edi, 2
jae 0x59ba66
mov eax, 0x11
mov esi, 0x10
movzx ecx, byte [esp + 0x67]
cmp ecx, 0x56
jne 0x59bce6
cmp esi, 0xe
je 0x59b35b
imul esi, esi
and esi, 3
cmp esi, 3
jne 0x59b79f
jmp 0x59b35b
mov cl, 0x2c
mov dword [esp + 0x70], ecx
cmp eax, 7
jne 0x59b951
mov edi, 0x11
mov ecx, 3
sub ecx, eax
xor ecx, eax
jne 0x59c7fd
mov eax, dword [esp + 0x70]
movzx ecx, al
cmp ecx, 8
je 0x59b97b
mov eax, 0x11
cmp ecx, 0x2c
mov ecx, dword [esp + 0xb0]
jne 0x59ba02
mov esi, dword [esp + 0x78]
jmp 0x59af13
xor eax, eax
mov ecx, fcn.004936c0
movd xmm0, ecx
mov ecx, fcn.00493840
movd xmm1, ecx
punpckldq xmm1, xmm0
mov ecx, fcn.00492a60
movd xmm2, ecx
mov ecx, fcn.00492770
movd xmm0, ecx
punpckldq xmm0, xmm2
punpckldq xmm0, xmm1
mov esi, dword [esp + 0xb0]
jmp 0x59b9ea
mov ecx, 0xe6
xor cl, 0xee
mov dword [esp + 0x70], ecx
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
adc eax, 0
movdqa xmmword [esp + 0xe0], xmm0
mov dword [esi + 0x20], fcn.004936c0
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x59b9c0
jmp 0x59ba66
mov al, 0x3f
mov dword [esp + 0x70], eax
mov eax, fcn.004936c0
movd xmm0, eax
mov eax, fcn.00493840
movd xmm1, eax
punpckldq xmm1, xmm0
mov eax, fcn.00492a60
movd xmm0, eax
mov eax, fcn.00492770
movd xmm2, eax
punpckldq xmm2, xmm0
punpckldq xmm2, xmm1
movdqa xmmword [esp + 0xe0], xmm2
mov dword [ecx + 0x20], fcn.004936c0
jmp 0x59ba66
mov eax, dword [esp + 0xa8]
mov eax, dword [eax]
cmp eax, 0x64
jb 0x59ba66
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
jne 0x59b951
mov esi, 0x1b
mov byte [esp + 0x66], 0xb
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x174e3
mov dword [esp + 4], 0
mov dword [esp], 0x18
mov eax, dword [esp + 0xb0]
call dword [eax + 0x18]
sub esp, 0x10
mov edi, eax
test edi, edi
je 0x59bc04
mov dword [esp + 0xa0], ebx
xor ebx, ebx
test bl, bl
jne 0x59bbfd
mov al, 0x7e
movzx eax, al
cmp eax, 0x7e
jne 0x59bb32
mov eax, 0xc9
add eax, 0xffffff38
mov dword [esp + 0x84], eax
jmp 0x59bb9f
mov eax, ebx
or eax, 2
mov ecx, ebx
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
add ebx, eax
mov eax, dword [esp + 0xa4]
mov eax, dword [eax]
mov ecx, dword [esp + 0xa8]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xac]
mov edx, dword [edx]
mov dword [esp + 0x14], edi
mov esi, dword [ebp + 8]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], str.Failed_to_initialize_VLIB__u._u_build__u_for_vendor__u__error_0x_x__n
call fcn.004414c0
test ebx, ebx
je 0x59bae0
mov al, 1
test al, al
je 0x59bae0
mov dword [esp + 0x90], edi
jmp 0x59c3d0
mov eax, 3
sub eax, ebx
xor eax, ebx
setne al
movzx eax, al
add ebx, eax
mov eax, dword [esp + 0xa4]
mov eax, dword [eax]
mov ecx, dword [esp + 0xa8]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xac]
mov edx, dword [edx]
mov dword [esp + 0x14], edi
mov esi, dword [ebp + 8]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], str.Failed_to_initialize_VLIB__u._u_build__u_for_vendor__u__error_0x_x__n
call fcn.004414c0
mov eax, ebx
or eax, 2
mov ecx, ebx
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp ebx, eax
jb 0x59bb50
mov dword [esp + 0x90], edi
mov esi, dword [esp + 0x74]
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0x84]
mov dword [esp + 0xb0], eax
mov eax, edx
imul eax, eax
and eax, 3
cmp eax, 2
sbb eax, eax
and eax, 1
cmp edx, eax
mov dword [esp + 0x74], esi
mov ebx, dword [esp + 0xa0]
jne 0x59bf7b
jmp 0x59c952
mov ebx, dword [esp + 0xa0]
cmp esi, 0x10
je 0x59bd11
xor eax, eax
test al, al
jne 0x59bd11
mov eax, 7
movzx ecx, byte [esp + 0x66]
cmp ecx, 0x42
je 0x59bdb3
mov eax, 4
cmp ecx, 0x57
jne 0x59bce6
mov dword [esp + 0xa0], ebx
mov ecx, 1
mov byte [esp + 0x66], 0x57
mov byte [esp + 0x2a], 5
test byte [esp + 0x4f], 1
jne 0x59be10
mov eax, ecx
not eax
and eax, 1
add eax, ecx
setne al
movzx eax, al
cmp ecx, eax
mov ebx, dword [esp + 0xa0]
je 0x59c502
mov edi, 0x18
mov esi, 0xa
lea eax, [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.0068dbc0
test eax, eax
jne 0x59bde9
cmp edi, 0xb
je 0x59bcb3
mov eax, edi
and eax, 1
inc eax
xor eax, edi
jne 0x59b3f1
mov al, 0x21
mov dword [esp + 0x7c], eax
lea eax, [esp + 0xe0]
mov dword [esp + 0x38], eax
call fcn.0061b160
cmp eax, dword [ebp + 8]
je 0x59ae3d
mov ecx, 0xe
xor eax, eax
test al, al
je 0x59ad60
jmp 0x59ae3d
cmp eax, 4
jne 0x59bd65
mov dword [esp + 0xa0], ebx
mov ebx, 0x11
mov byte [esp + 0x66], 0x42
mov byte [esp + 0x2a], 5
test byte [esp + 0x4f], 1
jne 0x59be10
jmp 0x59c4f2
mov bl, 0x2a
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0061d650
mov edx, dword [esp + 0xb0]
lea ecx, [edx + 0x24]
mov dword [esp + 0x54], ecx
mov dword [edx + 0x24], eax
test eax, eax
jne 0x59b177
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
je 0x59b177
mov dword [esp + 0xa0], ebx
xor ebx, ebx
mov esi, 0x56
add esi, 0xffffffb8
mov edx, dword [esp + 0x88]
jmp 0x59b252
mov esi, 0x18
mov edi, 0x15
mov byte [esp + 0x67], 5
mov byte [esp + 0x9e], 0x4b
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + 0x24]
mov dword [esp], eax
call fcn.0059ec90
mov dword [esp + 0x94], eax
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x59c069
jmp 0x59c319
mov esi, dword [esp + 0x90]
cmp eax, 5
je 0x59c202
mov eax, 7
mov byte [esp + 0x66], 0xb
mov byte [esp + 0x2a], 5
test byte [esp + 0x4f], 1
mov dword [esp + 0x90], esi
je 0x59c502
jmp 0x59cb5b
cmp esi, 4
je 0x59be04
xor eax, eax
test al, al
mov dword [esp + 0x88], eax
je 0x59b33d
jmp 0x59bd48
mov dword [esp + 0x88], eax
jmp 0x59bd48
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xb0]
mov dword [ecx + 0x10], eax
jmp 0x59be55
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x2b], 2
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + 0x24]
cmp eax, dword [esp + 0xdc]
jne 0x59c8d3
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x59c8d3
mov esi, 0x1f
mov ecx, dword [esp + 0xb0]
lea eax, [ecx + 0x28]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], 0x80dc80
call fcn.007c5230
mov dword [esp + 0x98], 0
mov ebx, dword [esp + 0xa0]
jmp 0x59b782
mov byte [esp + 0x83], 7
mov eax, esi
imul eax, eax
and eax, 3
cmp eax, 2
adc esi, 0
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], str.Invalid_VLIB_for_vendor__u_n
call fcn.004414c0
mov ecx, 0x70000031
mov eax, esi
and eax, 1
xor eax, esi
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp esi, eax
jb 0x59be90
mov dword [esp + 0x90], ecx
jmp 0x59c952
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x8f], 0x17
mov eax, dword [esp + 0xb0]
mov edx, dword [eax + 0x24]
test edx, edx
jne 0x59bf16
mov eax, edx
or eax, 2
mov ecx, edx
mov dword [esp + 0x34], edx
xor ecx, 2
add ecx, eax
mov dword [esp + 0x98], eax
jne 0x59bf2d
jmp 0x59bf1a
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.0061d900
mov dword [esp + 0x98], eax
xor edi, edi
mov ebx, dword [esp + 0xa0]
mov edx, dword [esp + 0x98]
jmp 0x59bf5b
add eax, edi
setne al
movzx eax, al
add edi, eax
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
call fcn.004936c0
mov edx, esi
mov eax, edi
not eax
and eax, 1
mov ecx, edi
add ecx, eax
setne cl
movzx ecx, cl
cmp edi, ecx
jb 0x59bf40
mov dword [esp + 0x98], edx
mov dword [esp + 0x68], esi
mov esi, 0x17
mov eax, dword [0x80dc7c]
mov dword [esp], eax
call fcn.007c74e0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x59bfcc
mov edx, dword [esp + 0x98]
mov eax, edx
imul eax, eax
and eax, 3
xor ecx, ecx
cmp eax, 2
mov eax, edx
cmove eax, ecx
cmp edx, 0x30000006
cmove eax, ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [esp + 0x98]
mov dword [esp + 0x98], edi
cmp esi, 9
je 0x59b33d
imul esi, esi
and esi, 3
cmp esi, 3
je 0x59b33d
mov dword [esp], str.Failed_to_unlock_vlib_mutex_n
call fcn.00441610
call fcn.0044c0d0
xor edi, edi
cmp esi, 0xb
je 0x59c0dc
mov dword [esp + 0x90], ecx
mov dword [esp + 0xb0], eax
xor eax, eax
test al, al
jne 0x59c0ea
mov dword [esp + 0x88], edx
mov esi, 9
mov byte [esp + 0x65], 0x7a
mov byte [esp + 0x8f], 0x17
mov al, 0x15
mov dword [esp + 0x6c], eax
mov al, 0x37
mov ecx, dword [ebp + 8]
mov edi, ecx
cmp edi, 0x928b
sete cl
mov edx, 3
sub edx, edi
xor edx, edi
setne dl
and dl, cl
mov byte [esp + 0x4f], dl
je 0x59c086
cmp esi, 9
jne 0x59c89a
mov eax, esi
not eax
and eax, 1
add eax, esi
jne 0x59c2aa
jmp 0x59c89a
movzx eax, al
cmp eax, 0xa
je 0x59b142
mov esi, 0x10
cmp eax, 0x37
je 0x59bc04
mov bl, 0x2a
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0061d650
mov edx, dword [esp + 0xb0]
lea ecx, [edx + 0x24]
mov dword [esp + 0x54], ecx
mov dword [edx + 0x24], eax
test eax, eax
je 0x59bd48
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jne 0x59b177
jmp 0x59bd48
mov dword [esp + 0x90], ecx
mov dword [esp + 0xb0], eax
mov dword [esp + 0xa0], ebx
jmp 0x59c133
xor ebx, 9
mov cl, bl
add cl, 0x11
mov byte [esp + 0x9f], cl
xor eax, edi
setne al
movzx eax, al
add edi, eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], str.Invalid_VLIB_for_vendor__u_n
call fcn.004414c0
mov edx, 0x70000031
mov esi, ebx
mov ebx, 3
mov eax, 3
sub eax, edi
mov ecx, edi
xor ecx, eax
setne cl
movzx ecx, cl
cmp edi, ecx
jb 0x59c100
mov dword [esp + 0x88], edx
mov al, byte [esp + 0x2a]
mov dl, byte [esp + 0x2b]
mov ah, byte [esp + 0x5b]
mov dh, byte [esp + 0x29]
mov ebx, dword [esp + 0xa0]
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x70], ecx
mov byte [esp + 0x29], dh
mov byte [esp + 0x5b], ah
mov byte [esp + 0x2b], dl
mov byte [esp + 0x2a], al
cmp esi, 7
je 0x59ad30
mov dword [esp + 0x34], edi
mov ebx, dword [esp + 0xa0]
jmp 0x59b35b
mov byte [esp + 0x29], 0x79
mov byte [esp + 0x9f], 0x2e
mov eax, dword [eax]
lea ecx, [esp + 0xb4]
mov dword [esp + 8], ecx
lea ebx, [esp + 0xb8]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0068d330
mov edi, eax
mov dword [esp], ebx
call fcn.007ad250
mov eax, dword [esp + 0xb4]
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
test edi, edi
jne 0x59c21d
movzx ecx, cl
cmp eax, ecx
mov ebx, dword [esp + 0xa0]
je 0x59c224
mov edx, ebx
mov eax, dword [esp + 0x30]
mov ebx, dword [eax]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0xb0]
jmp 0x59c2db
mov ebx, dword [esp + 0xa0]
mov cl, byte [esp + 0x9f]
movsx eax, cl
cmp eax, 0x39
jg 0x59c466
movzx edx, cl
cmp edx, 0x1a
je 0x59c7b1
mov ecx, 0x13
cmp edx, 0x1b
jne 0x59b503
mov dword [esp + 0x90], esi
cmp ecx, 4
jne 0x59c823
mov eax, ecx
not eax
and eax, 1
add eax, ecx
je 0x59c823
mov ecx, 0xb
mov edx, 5
mov eax, dword [esp + 0x7c]
movzx eax, al
cmp eax, 0x21
je 0x59c915
cmp ecx, 0xb
jne 0x59c2aa
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
je 0x59c2aa
xor esi, esi
mov ecx, dword [esp + 0x98]
jmp 0x59ae1e
mov edx, ebx
mov esi, dword [esp + 0xb0]
mov dword [esi + 0x24], 0
mov dword [esi + 0x18], 0x6906a0
mov dword [esi + 0x1c], 0x691ff0
mov dword [esi + 0x14], 0x690600
mov ebx, 0x690600
mov dword [esi + 0x20], fcn.004936c0
mov edi, 0xc
mov eax, dword [esp + 0x6c]
movzx ecx, al
cmp ecx, 0x15
je 0x59c30c
mov eax, 7
cmp ecx, 0x5b
jne 0x59c40d
mov dword [esp + 0x44], ebx
mov dword [esp + 0xb0], esi
mov ebx, edx
jmp 0x59c5d3
mov dword [esp + 0x44], ebx
mov dword [esp + 0xb0], esi
mov ebx, edx
cmp edi, 0xc
je 0x59b510
imul edi, edi
and edi, 3
cmp edi, 2
je 0x59b510
mov dword [esp + 0xa0], ebx
mov eax, 4
mov ebx, 7
movzx ecx, byte [esp + 0x9e]
cmp ecx, 0x4b
mov esi, dword [esp + 0x78]
jne 0x59c3dc
cmp ebx, 7
jne 0x59c80b
mov eax, 3
sub eax, ebx
xor eax, ebx
je 0x59c817
mov byte [esp + 0x9e], 0x3a
call sub.KERNEL32.dll_GetLastError
mov ecx, dword [esp + 0xa4]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xa8]
mov edx, dword [edx]
mov esi, dword [esp + 0xac]
mov esi, dword [esi]
mov edi, dword [esp + 0x94]
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], str.Failed_to_initialize_VLIB__u._u_build__u_for_vendor__u_because_its_too_old__syserr__lu__u__n
call fcn.004414c0
mov dword [esp + 0x90], 0x70000038
mov ebx, dword [esp + 0xa0]
jmp 0x59c952
mov dword [esp + 0x78], esi
xor esi, esi
cmp eax, 4
je 0x59c6f6
imul eax, eax
and eax, 3
cmp eax, 3
mov dword [esp + 0x84], eax
je 0x59b86a
mov ebx, dword [esp + 0xa0]
jmp 0x59bf7b
mov dword [esp + 0xa0], edx
mov al, 0x15
mov dword [esp + 0x6c], eax
lea eax, [esi + 0xc]
mov dword [esp + 0xa4], eax
lea ecx, [esi + 8]
mov dword [esp + 0xa8], ecx
lea edx, [esi + 4]
mov dword [esp + 0xac], edx
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call ebx
sub esp, 0x10
mov dword [esp + 0x44], ebx
mov edi, eax
test edi, edi
je 0x59b5d9
mov dword [esp + 0xb0], esi
jmp 0x59b571
movzx eax, cl
cmp eax, 0x3a
je 0x59c7cb
cmp eax, 0x67
jne 0x59b503
mov dword [esp + 0xa0], ebx
xor edi, edi
mov ebx, 0xa0
xor ebx, 0xab
mov ecx, dword [esp + 0x88]
jmp 0x59c4d1
mov al, bl
add al, 0xf
mov byte [esp + 0x9f], al
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
adc edi, 0
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], str.Invalid_VLIB_for_vendor__u_n
call fcn.004414c0
mov ecx, 0x70000031
mov eax, edi
not eax
and eax, 1
add eax, edi
setne al
movzx eax, al
cmp edi, eax
jb 0x59c4a0
mov dword [esp + 0x88], ecx
mov dword [esp + 0x90], esi
cmp ebx, 0xb
mov ebx, dword [esp + 0xa0]
je 0x59b35b
mov al, byte [esp + 0x2a]
movzx ecx, al
cmp ecx, 5
je 0x59c702
mov eax, 1
cmp ecx, 0xc
jne 0x59c5d3
mov dword [esp + 0xa0], ebx
mov esi, 0x1a
mov ebx, 7
mov byte [esp + 0x2a], 0xc
mov byte [esp + 0x83], 0x6e
mov byte [esp + 0x2b], 2
mov eax, dword [esp + 0xa4]
mov eax, dword [eax]
mov ecx, dword [esp + 0xa8]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xac]
mov edx, dword [edx]
mov edi, dword [ebp + 8]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], str.Loaded_VLIB__u._u_build__u_for_vendor__u_n
call fcn.004414c0
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xb0]
mov dword [ecx + 0x10], eax
lea ecx, [esp + 0xdc]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068dbc0
test eax, eax
jne 0x59c8b7
cmp esi, 0xa
mov ebx, dword [esp + 0xa0]
jne 0x59cb4c
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
mov esi, dword [esp + 0x74]
jne 0x59afec
jmp 0x59cb4c
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
cmp eax, ecx
jne 0x59c683
mov dword [esp + 0xa0], ebx
mov esi, 0x1c
mov byte [esp + 0x2a], 0x7f
mov byte [esp + 0x83], 0x6e
mov byte [esp + 0x2b], 2
mov eax, dword [esp + 0xa4]
mov eax, dword [eax]
mov ecx, dword [esp + 0xa8]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xac]
mov edx, dword [edx]
mov edi, dword [ebp + 8]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], str.Loaded_VLIB__u._u_build__u_for_vendor__u_n
call fcn.004414c0
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xb0]
mov dword [ecx + 0x10], eax
lea ecx, [esp + 0xdc]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068dbc0
test eax, eax
je 0x59caf2
imul eax, eax
and eax, 3
cmp eax, 3
jne 0x59c8d3
jmp 0x59caf2
mov dword [esp + 0xa0], ebx
mov esi, 9
mov dword [esp + 0x6c], 0
mov ebx, dword [esp + 0xb0]
lea eax, [ebx + 0xc]
mov dword [esp + 0xa4], eax
lea ecx, [ebx + 8]
mov dword [esp + 0xa8], ecx
lea edx, [ebx + 4]
mov dword [esp + 0xac], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call dword [esp + 0x44]
sub esp, 0x10
mov edi, eax
test edi, edi
je 0x59c830
mov eax, edi
imul eax, eax
and eax, 3
cmp eax, 2
mov dword [esp + 0x5c], ebx
jne 0x59b571
jmp 0x59cb0f
mov dword [esp + 0x84], eax
jmp 0x59b86a
mov dword [esp + 0xa0], ebx
mov esi, 0x1b
mov byte [esp + 0x2a], 5
mov byte [esp + 0x83], 0x6e
mov byte [esp + 0x2b], 2
mov eax, dword [esp + 0xa4]
mov eax, dword [eax]
mov ecx, dword [esp + 0xa8]
mov ecx, dword [ecx]
mov edx, dword [esp + 0xac]
mov edx, dword [edx]
mov edi, dword [ebp + 8]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], str.Loaded_VLIB__u._u_build__u_for_vendor__u_n
call fcn.004414c0
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xb0]
mov dword [ecx + 0x10], eax
lea ecx, [esp + 0xdc]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0068dbc0
test eax, eax
jne 0x59c8d3
cmp esi, 0xe
jne 0x59c839
mov eax, 3
sub eax, esi
xor eax, esi
mov esi, dword [esp + 0x90]
mov ebx, dword [esp + 0xa0]
jne 0x59c9cc
jmp 0x59cb4c
mov ecx, esi
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0x88]
mov esi, 0xb
jmp 0x59c003
mov edi, 3
mov byte [esp + 0x9f], 0x2e
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], str.Invalid_VLIB_for_vendor__u_n
call fcn.004414c0
mov dword [esp + 0x88], 0x70000031
mov dword [esp + 0x90], esi
cmp edi, 3
jne 0x59ba4a
jmp 0x59b35b
mov ebx, dword [esp + 0xa0]
jmp 0x59b35b
mov ebx, dword [esp + 0xa0]
jmp 0x59b35b
mov byte [esp + 0x9f], 0x3a
jmp 0x59b33d
mov dword [esp + 0x5c], ebx
jmp 0x59cb0f
mov ebx, dword [esp + 0xa0]
jmp 0x59cb4c
mov byte [esp + 0x5b], 2
lea eax, [esp + 0xe0]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0
call fcn.007c51a0
mov eax, dword [esp + 0xac]
mov eax, dword [eax]
cmp eax, 6
ja 0x59b932
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
jne 0x59ba66
jmp 0x59b932
mov eax, 0x13
mov cl, byte [esp + 0x5b]
movzx ecx, cl
cmp ecx, 2
jne 0x59c845
mov dword [esp + 0xa0], ebx
jmp 0x59ca24
cmp ebx, 7
jne 0x59cb95
imul ebx, ebx
and ebx, 3
cmp ebx, 2
mov esi, dword [esp + 0x68]
jae 0x59bf2d
mov edx, 1
mov eax, 0xe
movzx ecx, byte [esp + 0x83]
cmp ecx, 7
mov ebx, dword [esp + 0xa0]
jne 0x59c915
xor esi, esi
cmp eax, 8
jne 0x59cb39
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
mov ecx, dword [esp + 0x90]
jne 0x59c89a
jmp 0x59bebe
mov eax, edx
not eax
and eax, 1
add eax, edx
setne al
movzx eax, al
cmp edx, eax
jne 0x59cab9
mov byte [esp + 0x83], 0x6e
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], str.Invalid_VLIB_for_vendor__u_n
call fcn.004414c0
mov dword [esp + 0x90], 0x70000031
mov dl, byte [esp + 0x8f]
movzx ecx, dl
cmp ecx, 0x23
je 0x59c9ea
mov eax, 0xa
cmp ecx, 0x4b
jne 0x59ca45
mov esi, dword [esp + 0x90]
mov byte [esp + 0x8f], dl
cmp eax, 0xa
jne 0x59c995
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x59bede
mov byte [esp + 0x29], 0x79
lea eax, [esp + 0xb8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x8c
mov dword [esp], 0x7f7508
call fcn.007acc60
mov dword [esp + 0x88], 0x700002bb
test eax, eax
jne 0x59b35b
mov dword [esp + 0xa0], ebx
movzx eax, byte [esp + 0x29]
cmp eax, 0x4c
mov eax, dword [esp + 0x54]
je 0x59c1a7
jmp 0x59b483
mov dword [esp + 0xa0], ebx
mov eax, 0xf
mov esi, 7
mov byte [esp + 0x8f], 0x23
mov ecx, dword [esp + 0xb0]
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x34], ecx
test ecx, ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x68], ecx
je 0x59cb0f
cmp eax, 0xf
je 0x59cb30
imul eax, eax
and eax, 3
cmp eax, 3
jne 0x59b89f
mov esi, dword [esp + 0x68]
jmp 0x59bf1a
mov dword [esp + 0xa0], ebx
mov ebx, 0x11
mov byte [esp + 0x8f], 0x4b
mov eax, dword [esp + 0xb0]
mov edx, dword [eax + 0x24]
test edx, edx
je 0x59cb81
mov eax, 2
mov ecx, edx
mov dword [esp + 0x34], edx
imul ecx, ecx
and ecx, 3
cmp ecx, 3
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x68], ecx
mov edi, dword [esp + 0x78]
je 0x59c8b7
cmp eax, 2
jne 0x59af9a
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x59af9a
mov dword [esp + 0x78], edi
mov esi, dword [esp + 0x68]
jmp 0x59bf1a
mov dword [esp + 0xa0], ebx
mov esi, 0xf
mov al, 0x21
mov dword [esp + 0x7c], eax
call fcn.0061b160
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], str.Unexpected_VLIB_request_for_vendor__u_instead_of_vendor__u_n
call fcn.004414c0
mov dword [esp + 0x98], 0x70000031
cmp esi, 0xf
jne 0x59cb45
mov eax, esi
not eax
and eax, 1
add eax, esi
mov ebx, dword [esp + 0xa0]
jne 0x59bf7b
jmp 0x59cb4c
cmp esi, 7
mov ecx, dword [esp + 0x68]
je 0x59cb29
xor eax, eax
test al, al
mov esi, ecx
je 0x59b5ef
jmp 0x59bf2d
mov esi, ecx
jmp 0x59bf2d
mov esi, dword [esp + 0x68]
jmp 0x59bf1a
mov ecx, dword [esp + 0x90]
jmp 0x59bebe
mov ebx, dword [esp + 0xa0]
mov eax, 0xb
movzx ecx, byte [esp + 0x2b]
cmp ecx, 2
jne 0x59cb70
cmp eax, 7
jne 0x59be23
mov dword [esp + 0xa0], ebx
jmp 0x59be10
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x2b], 1
jmp 0x59be2f
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x90]
mov dword [esp + 0x68], eax
jmp 0x59c8b7
mov esi, dword [esp + 0x68]
jmp 0x59bf2d