Function at 0x474b20
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push esi
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
mov byte [0x5d3d10], 0
mov byte [0x5d3d40], 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx]
mov dword [eax + edx*4], ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
cmp dword [ebp + 8], 1
jle 0x4750f2
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
add eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 4], 0
je 0x474c37
mov edx, 0x564218
test edx, edx
je 0x474c37
push str._vendor
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
call fcn.004043e0
add esp, 8
test eax, eax
jne 0x474c37
cmp dword [ebp + 8], 2
jle 0x474c37
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
cmp dword [ebp + 0x18], 0xa
jne 0x474bf4
push 0xa
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [0x589f34]
mov ecx, dword [eax + 0x1a8]
mov edx, dword [ecx + 0x1d20]
add edx, 0x4fc
push edx
call fcn.00493cf0
add esp, 0xc
jmp 0x474c20
push 0xa
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
push 0x5d3d10
call fcn.00493cf0
add esp, 0xc
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [0x589f34]
push ecx
call fcn.004938a0
add esp, 8
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
jmp 0x474b5b
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 4], 0
je 0x474c82
mov edx, 0x564228
test edx, edx
je 0x474c82
push str._all
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
call fcn.004043e0
add esp, 8
test eax, eax
jne 0x474c82
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
mov dword [0x589f44], 1
jmp 0x474b5b
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 4], 0
je 0x474ccd
mov edx, 0x564238
test edx, edx
je 0x474ccd
push str._force
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
call fcn.004043e0
add esp, 8
test eax, eax
jne 0x474ccd
mov dword [0x5d3d20], 1
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
jmp 0x474b5b
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 4], 0
je 0x474d21
mov edx, 0x564248
test edx, edx
je 0x474d21
push str._verbose
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
call fcn.004043e0
add esp, 8
test eax, eax
jne 0x474d21
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
push 1
push 0x44
mov ecx, dword [0x589f34]
push ecx
call fcn.004893b0
add esp, 0xc
jmp 0x474b5b
mov edx, dword [ebp + 0xc]
cmp dword [edx + 4], 0
je 0x474d78
mov eax, 0x564260
test eax, eax
je 0x474d78
push str._pre_v6
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
push edx
call fcn.004043e0
add esp, 8
test eax, eax
jne 0x474d78
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [ebp + 0xc], ecx
push 0x564270
push 0x41
mov edx, dword [0x589f34]
push edx
call fcn.004893b0
add esp, 0xc
jmp 0x474b5b
mov eax, dword [ebp + 0xc]
cmp dword [eax + 4], 0
je 0x474dcb
mov ecx, 0x564278
test ecx, ecx
je 0x474dcb
push str._fqdn
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
push eax
call fcn.004043e0
add esp, 8
test eax, eax
jne 0x474dcb
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
push 1
push 0x6e
mov eax, dword [0x589f34]
push eax
call fcn.004893b0
add esp, 0xc
jmp 0x474b5b
mov dword [ebp - 4], 1
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
jne case.0x474e1c.1
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
movsx eax, byte [edx + 2]
test eax, eax
jne case.0x474e1c.1
mov ecx, dword [ebp - 8]
movsx edx, byte [ecx]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
sub eax, 0x63
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0x13
ja case.0x474e1c.1
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0x475120]
jmp dword [edx*4 + 0x4750fc]
cmp dword [ebp + 8], 2
jle 0x474e94
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 8]
movsx edx, byte [ecx]
cmp edx, 0x2d
je 0x474e94
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 8]
sub ecx, 1
mov dword [ebp + 8], ecx
push 1
push 2
mov edx, dword [0x589f34]
push edx
call fcn.004893b0
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
push 0x2e
mov edx, dword [0x589f34]
push edx
call fcn.004893b0
add esp, 0xc
push 0x200
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
push ecx
push 0x5d3d40
call fcn.00493cf0
add esp, 0xc
mov dword [ebp - 4], 0
jmp case.0x474e1c.1
cmp dword [ebp + 8], 2
jle 0x474f4a
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 8]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x474f4a
mov dword [ebp - 4], 0
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
call fcn.00463796
add eax, 0x40
push eax
push 0x564288
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [0x589f34]
push eax
call fcn.00492d80
add esp, 0x10
test eax, eax
jne 0x474f4a
call fcn.00402cf0
mov esi, eax
call fcn.004639b3
mov ecx, dword [esi]
cmp ecx, dword [eax]
jl 0x474f10
mov dword [ebp - 0x10], 0x56428c
jmp 0x474f24
call fcn.004639b9
mov esi, eax
call fcn.00402cf0
mov edx, dword [eax]
mov eax, dword [esi + edx*4]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
push eax
push 0x5642a0
mov ecx, dword [0x5d3d1c]
push ecx
call fcn.00463647
add esp, 0x10
push 1
call fcn.0040153c
jmp case.0x474e1c.1
cmp dword [ebp + 8], 2
jle 0x475001
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 8]
movsx ecx, byte [eax]
cmp ecx, 0x2d
je 0x475001
mov dword [ebp - 4], 0
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
push 0x5642b4
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [0x589f34]
push eax
call fcn.00492bb0
add esp, 0xc
mov dword [0x5d3d1c], eax
cmp dword [0x5d3d1c], 0
jne 0x475001
call fcn.00402cf0
mov esi, eax
call fcn.004639b3
mov ecx, dword [esi]
cmp ecx, dword [eax]
jl 0x474fc7
mov dword [ebp - 0x14], 0x5642b8
jmp 0x474fdb
call fcn.004639b9
mov esi, eax
call fcn.00402cf0
mov edx, dword [eax]
mov eax, dword [esi + edx*4]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
push eax
push str.Cant_open__s:__s_n
mov ecx, dword [0x5d3d1c]
push ecx
call fcn.00463647
add esp, 0x10
push 1
call fcn.0040153c
jmp case.0x474e1c.1
cmp dword [ebp + 0x18], 4
jne 0x47501d
mov dword [0x589f38], 1
mov dword [ebp - 4], 0
jmp case.0x474e1c.1
push 1
push 4
mov edx, dword [0x589f34]
push edx
call fcn.004893b0
add esp, 0xc
mov dword [ebp - 4], 0
jmp case.0x474e1c.1
mov dword [0x563f40], 0
mov dword [0x563f3c], 0
mov dword [ebp - 4], 0
jmp case.0x474e1c.1
mov dword [0x589f3c], 0
mov dword [0x589f28], 1
mov dword [ebp - 4], 0
jmp case.0x474e1c.1
push 0x5642e0
mov eax, dword [ebp - 8]
push eax
call fcn.004043e0
add esp, 8
test eax, eax
jne 0x475099
mov dword [0x589f2c], 0
jmp case.0x474e1c.1
mov dword [0x589f2c], 1
cmp dword [ebp - 4], 0
je 0x4750db
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0xf
jle 0x4750bd
call fcn.00475140
mov eax, 1
jmp 0x4750f4
mov edx, dword [ebp + 0x14]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 4]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
add ecx, 1
mov edx, dword [ebp + 0x14]
mov dword [edx], ecx
mov eax, dword [ebp + 8]
sub eax, 1
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov dword [ebp + 0xc], ecx
jmp 0x474b5b
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret